function r = hydro(Ti, TIME_STEPS)
  % First order hydro
  %  eliminating the u-dot-dot terms 
  %  fsolve search method
  close all;
  fig = figure; 
  load('cm', 'mycmap');
  set(fig, 'Colormap', mycmap);

  HYDROLIZE = false;

  GRID_SIZE = 8;
  DX = 0.01;
  Dt = 0.001;
  VECTOR_SUBSAMPLING = 4;
  [gridx, gridy] = meshgrid([1:VECTOR_SUBSAMPLING:GRID_SIZE], [1:VECTOR_SUBSAMPLING:GRID_SIZE]);


  VIDEO = false;
  FPS = 30;
  SECONDS_PER_LIGHTYEAR = 15;
  if (VIDEO)
    vt = VideoWriter('v_t.avi', 'Archival');
    open(vt);
  end

  ZERO_HYDRO = false;



  A = sqrt(3)*pi/18 - log(3)/2;
  c = -1;
  h = A + 1;
  l = 2 * A;

  ux = zeros(GRID_SIZE, GRID_SIZE);
  uy = zeros(GRID_SIZE, GRID_SIZE);
  ut = ones(GRID_SIZE, GRID_SIZE);
  T  = zeros(GRID_SIZE, GRID_SIZE);
  PI = zeros(GRID_SIZE, GRID_SIZE);
  B = zeros(GRID_SIZE, GRID_SIZE);
  
  dtT  = zeros(GRID_SIZE, GRID_SIZE);
  dtux = zeros(GRID_SIZE, GRID_SIZE);
  dtuy = zeros(GRID_SIZE, GRID_SIZE);
  dtPI = zeros(GRID_SIZE, GRID_SIZE);
  dtB = zeros(GRID_SIZE, GRID_SIZE);
  
 
  dxT = zeros(GRID_SIZE, GRID_SIZE); 
  dyT = zeros(GRID_SIZE, GRID_SIZE); 
  dxux = zeros(GRID_SIZE, GRID_SIZE); 
  dyux = zeros(GRID_SIZE, GRID_SIZE); 
  dxuy = zeros(GRID_SIZE, GRID_SIZE); 
  dyuy = zeros(GRID_SIZE, GRID_SIZE);
  dxut = zeros(GRID_SIZE, GRID_SIZE); 
  dyut = zeros(GRID_SIZE, GRID_SIZE);
  dxPI = zeros(GRID_SIZE, GRID_SIZE);
  dyPI = zeros(GRID_SIZE, GRID_SIZE);
  dxB = zeros(GRID_SIZE, GRID_SIZE);
  dyB = zeros(GRID_SIZE, GRID_SIZE);

  
  
  
  dxdxT = zeros(GRID_SIZE, GRID_SIZE); 
  dxdyT = zeros(GRID_SIZE, GRID_SIZE); 
  dydyT = zeros(GRID_SIZE, GRID_SIZE); 

  dxdxux = zeros(GRID_SIZE, GRID_SIZE); 
  dxdyux = zeros(GRID_SIZE, GRID_SIZE); 
  dydyux = zeros(GRID_SIZE, GRID_SIZE); 

  dxdxuy = zeros(GRID_SIZE, GRID_SIZE); 
  dxdyuy = zeros(GRID_SIZE, GRID_SIZE); 
  dydyuy = zeros(GRID_SIZE, GRID_SIZE); 



  sumT = 0;
  % initial conditions for vx vy come here
  % vx
  % vy
  % T
  TEMP_OFFSET =5;
  cx = 0.5 * GRID_SIZE + 0.5;
  cy = 0.5 * GRID_SIZE + 0.5;
  for x = 1:GRID_SIZE
    for y = 1:GRID_SIZE
       T(x, y) = 0.001 * exp(-((x-cx)^2 + (y-cy)^2)/12);
      % T(x,y) = 0.2*sin(2*pi*x/GRID_SIZE);
    end
  end
  % T(:,:) = Ti(:,:);
  T = T + TEMP_OFFSET;
  for x = 1:GRID_SIZE
     for y = 1:GRID_SIZE
       %T(x,y) = T(x,y) +  0.01 * rand();
       %vx(x,y) = 0.001 * rand();
       %vy(x,y) = 0.001 * rand();
     end
  end

  %vx = 0.000000 * ones(GRID_SIZE, GRID_SIZE);;
  %vy = 0.2 * ones(GRID_SIZE, GRID_SIZE);;
  
  % ****************************************************************
  %  hydrolize the initial conditions
  % ****************************************************************
  if (HYDROLIZE)
    level = 4;
    k = zeros(GRID_SIZE+1, GRID_SIZE+1);  
    [cx, cy] = meshgrid(0:GRID_SIZE-1,0:GRID_SIZE-1);
    [kx, ky] = meshgrid(-GRID_SIZE/2:GRID_SIZE/2);
    for kx = -GRID_SIZE/level:GRID_SIZE/level
      for ky = -GRID_SIZE/level:GRID_SIZE/level
        ft = T .* exp(-2 * pi * i * ( kx * cx + ky * cy ) / GRID_SIZE);
        k(kx+GRID_SIZE/2+1, ky+GRID_SIZE/2+1) = sum(sum(ft));
      end
    end
    T = zeros(GRID_SIZE:GRID_SIZE);
    for kx = -GRID_SIZE/level:GRID_SIZE/level
      for ky = -GRID_SIZE/level:GRID_SIZE/level
        T = T + k(kx+GRID_SIZE/2+1,ky+GRID_SIZE/2+1) * exp(2 * pi * i * ( kx * cx + ky * cy ) / GRID_SIZE);
        % vx = vx + 20*(rand()-0.5)*exp(2 * pi * i * ( kx * cx + ky * cy ) / GRID_SIZE);
        % vy = vy + 20*(rand()-0.5)*exp(2 * pi * i * ( kx * cx + ky * cy ) / GRID_SIZE);

      end
    end
    T = real(T / GRID_SIZE / GRID_SIZE);
    %ux = real(ux / GRID_SIZE / GRID_SIZE);
    %uy = real(uy / GRID_SIZE / GRID_SIZE);
  end



  % ****************************************************************
  %  compute derivative kernels
  % ****************************************************************
  % can upgrade on this -- trefethen pg 6

  d1 = zeros(GRID_SIZE, GRID_SIZE);
  d2 = zeros(GRID_SIZE, GRID_SIZE);
  for x = 1:GRID_SIZE
    for y=1:GRID_SIZE
      s1 = 0;
      s2 = 0;
      for k = -GRID_SIZE/2 : GRID_SIZE/2
        s1 = s1 + 2. * pi * i / GRID_SIZE / GRID_SIZE * k * exp(2 * pi * i * k * (x - y) / GRID_SIZE);
        s2 = s2 + (2. * pi * i / GRID_SIZE * k)^2 / GRID_SIZE * exp(2 * pi * i * k * (x - y) / GRID_SIZE);
      end
      d1(x,y) = real(s1)/DX;
      d2(x,y) = real(s2)/DX/DX;
    end
  end
  h = 2*pi/GRID_SIZE;
  col1 = [0 .5*(-1).^(1:GRID_SIZE-1).*cot((1:GRID_SIZE-1)*h/2)]  * h/DX;
  max(max(d1 - toeplitz(col1, col1([1 GRID_SIZE:-1:2]))))
  col2 = [(-pi^2/(3*h*h)-1/6) .5*(-1).^(0:GRID_SIZE-2).*(csc((1:GRID_SIZE-1)*h/2).^2)]  * h*h/(DX*DX);
  % d2 = toeplitz(col2);
  

  %dxT = dxdx(T);
  %dxT2 = dxdx2(T);
  % image(imagesc(dxT));
  %figure;
  %image(imagesc(dxT2));
  %image((dxT) * 128  + 128); 
  % image((dxT) * 128 + 128); 
  % truesize(fig);
  %fig=figure;
  %truesize(fig);
  %keyboard();
 % image((T-TEMP_OFFSET)*256+128);

  %return

  dxux = dx(ux);
  dyux = dy(ux);
  dxuy = dx(uy);
  dyuy = dy(uy);
  dxT = dx(T);
  dyT = dy(T);
  dxPI = dx(PI);
  dyPI = dy(PI);
  dxB = dx(B);
  dyB = dy(B);
  
  dxdxux = dxdx(ux);
  dxdyux = dx(dy(ux));
  dydyux = dydy(ux);
  dxdxuy = dxdx(uy);
  dxdyuy = dx(dy(uy));
  dydyuy = dydy(uy);
  dxdxT = dxdx(T);
  dxdyT = dx(dy(T));
  dydyT = dydy(T);


  tic;


  for t = 1:TIME_STEPS
    disp('time step ');
    disp(t);

    % solving non-linear equation of type:
    % L(u, T, u-dot, T-dot) + R(u, T) == 0  -- 3 components
    % each of L, R has 3 components 

    % precompute the R functions
    % R1
    
	m11=(3/2).*T.^2.*(2+3.*ux.^2+3.*uy.^2);
	
	m12=4.*B.*ux+3.*T.^3.*ux+4.*PI.*uy;
	
	m13=4.*PI.*ux+(-4).*B.*uy+3.*T.^3.*uy;
	
	m14=4.*ux.*uy;
	
	m15=2.*(ux+(-1).*uy).*(ux+uy);
	
	m21=(9/2).*T.^2.*ux.*(1+ux.^2+uy.^2).^(1/2);
	
	m22=(1/2).*(1+ux.^2+uy.^2).^(-3/2).*(3.*T.^3.*(1+ux.^2+uy.^2).*(1+2.*    ux.^2+uy.^2)+2.*PI.*ux.*uy.*(4+3.*ux.^2+5.*uy.^2)+4.*B.*(1+2.*   ux.^4+uy.^2+3.*ux.^2.*(1+uy.^2)));
	
	m23=(1/2).*(1+ux.^2+uy.^2).^(-3/2).*(2.*PI.*(2+5.*ux.^2+3.*ux.^4+3.*(     1+ux.^2).*uy.^2+2.*uy.^4)+ux.*uy.*((-4).*B.*(1+ux.^2)+3.*T.^3.*(1+     ux.^2+uy.^2)));
	
	m24=uy.*(1+ux.^2+uy.^2).^(-1/2).*(2+3.*ux.^2+uy.^2);
	
	m25=2.*(ux+ux.^3).*(1+ux.^2+uy.^2).^(-1/2);
	
	m31=(9/2).*T.^2.*uy.*(1+ux.^2+uy.^2).^(1/2);
	
	m32=(1/2).*(1+ux.^2+uy.^2).^(-3/2).*(2.*PI.*(2+2.*ux.^4+5.*uy.^2+3.*    uy.^4+3.*ux.^2.*(1+uy.^2))+ux.*uy.*(4.*B.*(1+uy.^2)+3.*T.^3.*(1+     ux.^2+uy.^2)));
	
	m33=(1/2).*(1+ux.^2+uy.^2).^(-3/2).*(3.*T.^3.*(1+ux.^2+uy.^2).*(1+   ux.^2+2.*uy.^2)+2.*PI.*ux.*uy.*(4+5.*ux.^2+3.*uy.^2)+(-4).*B.*(1+     ux.^2+3.*(1+ux.^2).*uy.^2+2.*uy.^4));
	
	m34=ux.*(1+ux.^2+uy.^2).^(-1/2).*(2+ux.^2+3.*uy.^2);
	
	m35=(-2).*(1+ux.^2+uy.^2).^(-1/2).*(uy+uy.^3);
	
	m41=2.*c.^(-1).*h.*PI.*T.^(-2).*(1+ux.^2+uy.^2).^(1/2).*(2+ux.^2+    uy.^2);
	
	m42=(1/2).*c.^(-1).*T.^(-1).*(1+ux.^2+uy.^2).^(-1/2).*(uy.*((-1).*    c.^2.*T.^3.*(1+uy.^2)+4.*B.*(1+ux.^2).*(1+uy.^2)+2.*PI.*ux.*uy.*((    -1).*ux.^2+uy.^2))+h.*ux.*(4.*B.*ux.*uy.*(1+uy.^2)+PI.*((-2)+    uy.^2+2.*uy.^4+(-1).*ux.^2.*(3+2.*uy.^2))));
	
	m43=(1/2).*c.^(-1).*T.^(-1).*(1+ux.^2+uy.^2).^(-1/2).*((-1).*c.^2.*   T.^3.*(ux+ux.^3)+PI.*((-2).*h+h.*ux.^2+2.*(1+h).*ux.^4).*uy+(-1).*     PI.*(3.*h+2.*(1+h).*ux.^2).*uy.^3+(-4).*B.*ux.*(1+ux.^2).*(1+(1+h)     .*uy.^2));
	
	m44=(-1).*c.^(-1).*h.*T.^(-1).*(1+ux.^2+uy.^2).^(1/2).*(2+ux.^2+uy.^2)     ;
	
	m45=1;
	
	m51=(-4).*c.^(-1).*h.*T.^(-2).*(1+ux.^2+uy.^2).^(1/2).*(B+(-1).*PI.*   ux.*uy+B.*uy.^2);
	
	m52=(1/2).*c.^(-1).*T.^(-1).*(1+ux.^2+uy.^2).^(-1/2).*(c.^2.*T.^3.*    ux.*(1+uy.^2)+2.*B.*ux.*(1+uy.^2).*(h+2.*(1+h).*uy.^2)+2.*PI.*uy.*     (2+ux.^2+(-2).*h.*ux.^2+(3+h+(-1).*(1+h).*ux.^2).*uy.^2+(1+h).*     uy.^4));
	
	m53=(1/2).*c.^(-1).*T.^(-1).*(1+ux.^2+uy.^2).^(-1/2).*(uy.*((-1).*   c.^2.*T.^3.*(1+2.*ux.^2+uy.^2)+2.*B.*(h+(-2).*ux.^2+2.*h.*ux.^2+(     h+(-2).*(1+h).*ux.^2).*uy.^2))+2.*PI.*ux.*((-2)+(-3).*uy.^2+(1+h)     .*((-1).*uy.^4+ux.^2.*((-1)+uy.^2))));
	
	m54=(-2).*c.^(-1).*h.*T.^(-1).*ux.*uy.*(1+ux.^2+uy.^2).^(1/2);
	
	m55=2.*c.^(-1).*h.*T.^(-1).*(1+uy.^2).*(1+ux.^2+uy.^2).^(1/2);
	
	
	
	
	
	 mm11=(m23.*m35.*m44.*m52 - m23.*m34.*m45.*m52 - m22.*m35.*m44.*m53 +    m22.*m34.*m45.*m53 - m23.*m35.*m42.*m54 + m22.*m35.*m43.*m54 +    m23.*m32.*m45.*m54 - m22.*m33.*m45.*m54 +       m25.*(m34.*m43.*m52 - m33.*m44.*m52 - m34.*m42.*m53 + m32.*m44.*m53 +       m33.*m42.*m54 - m32.*m43.*m54) + (m23.*m34.*m42 - m22.*m34.*m43 -       m23.*m32.*m44 + m22.*m33.*m44).*m55 +       m24.*((-m35).*m43.*m52 + m33.*m45.*m52 + m35.*m42.*m53 - m32.*m45.*m53 -       m33.*m42.*m55 + m32.*m43.*m55))./(m13.*m25.*m34.*m42.*m51 -    m13.*m24.*m35.*m42.*m51 - m12.*m25.*m34.*m43.*m51 +       m12.*m24.*m35.*m43.*m51 - m13.*m25.*m32.*m44.*m51 +    m12.*m25.*m33.*m44.*m51 + m13.*m22.*m35.*m44.*m51 - m12.*m23.*m35.*m44.*m51 +    m13.*m24.*m32.*m45.*m51 - m12.*m24.*m33.*m45.*m51 -       m13.*m22.*m34.*m45.*m51 + m12.*m23.*m34.*m45.*m51 -    m13.*m25.*m34.*m41.*m52 + m13.*m24.*m35.*m41.*m52 + m11.*m25.*m34.*m43.*m52 -    m11.*m24.*m35.*m43.*m52 + m13.*m25.*m31.*m44.*m52 -       m11.*m25.*m33.*m44.*m52 - m13.*m21.*m35.*m44.*m52 +    m11.*m23.*m35.*m44.*m52 - m13.*m24.*m31.*m45.*m52 + m11.*m24.*m33.*m45.*m52 +    m13.*m21.*m34.*m45.*m52 - m11.*m23.*m34.*m45.*m52 +       m12.*m25.*m34.*m41.*m53 - m12.*m24.*m35.*m41.*m53 -    m11.*m25.*m34.*m42.*m53 + m11.*m24.*m35.*m42.*m53 - m12.*m25.*m31.*m44.*m53 +    m11.*m25.*m32.*m44.*m53 + m12.*m21.*m35.*m44.*m53 -       m11.*m22.*m35.*m44.*m53 + m12.*m24.*m31.*m45.*m53 -    m11.*m24.*m32.*m45.*m53 - m12.*m21.*m34.*m45.*m53 + m11.*m22.*m34.*m45.*m53 +    m13.*m25.*m32.*m41.*m54 - m12.*m25.*m33.*m41.*m54 -       m13.*m22.*m35.*m41.*m54 + m12.*m23.*m35.*m41.*m54 -    m13.*m25.*m31.*m42.*m54 + m11.*m25.*m33.*m42.*m54 + m13.*m21.*m35.*m42.*m54 -    m11.*m23.*m35.*m42.*m54 + m12.*m25.*m31.*m43.*m54 -       m11.*m25.*m32.*m43.*m54 - m12.*m21.*m35.*m43.*m54 +    m11.*m22.*m35.*m43.*m54 + m13.*m22.*m31.*m45.*m54 - m12.*m23.*m31.*m45.*m54 -    m13.*m21.*m32.*m45.*m54 + m11.*m23.*m32.*m45.*m54 +       m12.*m21.*m33.*m45.*m54 - m11.*m22.*m33.*m45.*m54 +    m15.*(m22.*m34.*m43.*m51 - m22.*m33.*m44.*m51 - m21.*m34.*m43.*m52 +       m21.*m33.*m44.*m52 - m22.*m34.*m41.*m53 + m21.*m34.*m42.*m53 +            m22.*m31.*m44.*m53 - m21.*m32.*m44.*m53 +       m24.*(m33.*m42.*m51 - m32.*m43.*m51 - m33.*m41.*m52 + m31.*m43.*m52 +          m32.*m41.*m53 - m31.*m42.*m53) +            (m22.*m33.*m41 - m21.*m33.*m42 - m22.*m31.*m43 + m21.*m32.*m43).*        m54 + m23.*((-m34).*m42.*m51 + m32.*m44.*m51 + m34.*m41.*m52 -          m31.*m44.*m52 - m32.*m41.*m54 + m31.*m42.*m54)) +       (m13.*((-m24).*m32.*m41 + m22.*m34.*m41 + m24.*m31.*m42 -          m21.*m34.*m42 - m22.*m31.*m44 + m21.*m32.*m44) +                  m12.*(m24.*m33.*m41 - m23.*m34.*m41 - m24.*m31.*m43 + m21.*m34.*m43 +          m23.*m31.*m44 - m21.*m33.*m44) +                  m11.*((-m24).*m33.*m42 + m23.*m34.*m42 + m24.*m32.*m43 - m22.*m34.*m43 -          m23.*m32.*m44 + m22.*m33.*m44)).*m55 +       m14.*((-m22).*m35.*m43.*m51 + m22.*m33.*m45.*m51 + m21.*m35.*m43.*m52 -       m21.*m33.*m45.*m52 + m22.*m35.*m41.*m53 - m21.*m35.*m42.*m53 -       m22.*m31.*m45.*m53 + m21.*m32.*m45.*m53 +                  m25.*((-m33).*m42.*m51 + m32.*m43.*m51 + m33.*m41.*m52 - m31.*m43.*m52 -          m32.*m41.*m53 + m31.*m42.*m53) - m22.*m33.*m41.*m55 +       m21.*m33.*m42.*m55 + m22.*m31.*m43.*m55 -            m21.*m32.*m43.*m55 +       m23.*(m35.*m42.*m51 - m32.*m45.*m51 - m35.*m41.*m52 + m31.*m45.*m52 +          m32.*m41.*m55 - m31.*m42.*m55)));
	
	mm12=(m13.*m35.*m44.*m52 - m13.*m34.*m45.*m52 - m12.*m35.*m44.*m53 +    m12.*m34.*m45.*m53 - m13.*m35.*m42.*m54 + m12.*m35.*m43.*m54 +    m13.*m32.*m45.*m54 - m12.*m33.*m45.*m54 +       m15.*(m34.*m43.*m52 - m33.*m44.*m52 - m34.*m42.*m53 + m32.*m44.*m53 +       m33.*m42.*m54 - m32.*m43.*m54) + (m13.*m34.*m42 - m12.*m34.*m43 -       m13.*m32.*m44 + m12.*m33.*m44).*m55 +       m14.*((-m35).*m43.*m52 + m33.*m45.*m52 + m35.*m42.*m53 - m32.*m45.*m53 -       m33.*m42.*m55 + m32.*m43.*m55))./((-m13).*m25.*m34.*m42.*m51 +    m13.*m24.*m35.*m42.*m51 +       m12.*m25.*m34.*m43.*m51 - m12.*m24.*m35.*m43.*m51 +    m13.*m25.*m32.*m44.*m51 - m12.*m25.*m33.*m44.*m51 - m13.*m22.*m35.*m44.*m51 +    m12.*m23.*m35.*m44.*m51 - m13.*m24.*m32.*m45.*m51 +       m12.*m24.*m33.*m45.*m51 + m13.*m22.*m34.*m45.*m51 -    m12.*m23.*m34.*m45.*m51 + m13.*m25.*m34.*m41.*m52 - m13.*m24.*m35.*m41.*m52 -    m11.*m25.*m34.*m43.*m52 + m11.*m24.*m35.*m43.*m52 -       m13.*m25.*m31.*m44.*m52 + m11.*m25.*m33.*m44.*m52 +    m13.*m21.*m35.*m44.*m52 - m11.*m23.*m35.*m44.*m52 + m13.*m24.*m31.*m45.*m52 -    m11.*m24.*m33.*m45.*m52 - m13.*m21.*m34.*m45.*m52 +       m11.*m23.*m34.*m45.*m52 - m12.*m25.*m34.*m41.*m53 +    m12.*m24.*m35.*m41.*m53 + m11.*m25.*m34.*m42.*m53 - m11.*m24.*m35.*m42.*m53 +    m12.*m25.*m31.*m44.*m53 - m11.*m25.*m32.*m44.*m53 -       m12.*m21.*m35.*m44.*m53 + m11.*m22.*m35.*m44.*m53 -    m12.*m24.*m31.*m45.*m53 + m11.*m24.*m32.*m45.*m53 + m12.*m21.*m34.*m45.*m53 -    m11.*m22.*m34.*m45.*m53 - m13.*m25.*m32.*m41.*m54 +       m12.*m25.*m33.*m41.*m54 + m13.*m22.*m35.*m41.*m54 -    m12.*m23.*m35.*m41.*m54 + m13.*m25.*m31.*m42.*m54 - m11.*m25.*m33.*m42.*m54 -    m13.*m21.*m35.*m42.*m54 + m11.*m23.*m35.*m42.*m54 -       m12.*m25.*m31.*m43.*m54 + m11.*m25.*m32.*m43.*m54 +    m12.*m21.*m35.*m43.*m54 - m11.*m22.*m35.*m43.*m54 - m13.*m22.*m31.*m45.*m54 +    m12.*m23.*m31.*m45.*m54 + m13.*m21.*m32.*m45.*m54 -       m11.*m23.*m32.*m45.*m54 - m12.*m21.*m33.*m45.*m54 +    m11.*m22.*m33.*m45.*m54 +    m15.*((-m22).*m34.*m43.*m51 + m22.*m33.*m44.*m51 + m21.*m34.*m43.*m52 -       m21.*m33.*m44.*m52 +            m22.*m34.*m41.*m53 - m21.*m34.*m42.*m53 - m22.*m31.*m44.*m53 +       m21.*m32.*m44.*m53 +       m24.*((-m33).*m42.*m51 + m32.*m43.*m51 + m33.*m41.*m52 - m31.*m43.*m52 -          m32.*m41.*m53 +                 m31.*m42.*m53) - m22.*m33.*m41.*m54 + m21.*m33.*m42.*m54 +       m22.*m31.*m43.*m54 - m21.*m32.*m43.*m54 +                  m23.*(m34.*m42.*m51 - m32.*m44.*m51 - m34.*m41.*m52 + m31.*m44.*m52 +          m32.*m41.*m54 - m31.*m42.*m54)) +       (m13.*(m24.*m32.*m41 - m22.*m34.*m41 - m24.*m31.*m42 + m21.*m34.*m42 +          m22.*m31.*m44 - m21.*m32.*m44) +                  m12.*((-m24).*m33.*m41 + m23.*m34.*m41 + m24.*m31.*m43 - m21.*m34.*m43 -          m23.*m31.*m44 + m21.*m33.*m44) +                  m11.*(m24.*m33.*m42 - m23.*m34.*m42 - m24.*m32.*m43 + m22.*m34.*m43 +          m23.*m32.*m44 - m22.*m33.*m44)).*m55 +       m14.*(m22.*m35.*m43.*m51 - m22.*m33.*m45.*m51 - m21.*m35.*m43.*m52 +       m21.*m33.*m45.*m52 - m22.*m35.*m41.*m53 + m21.*m35.*m42.*m53 +       m22.*m31.*m45.*m53 - m21.*m32.*m45.*m53 +                  m25.*(m33.*m42.*m51 - m32.*m43.*m51 - m33.*m41.*m52 + m31.*m43.*m52 +          m32.*m41.*m53 - m31.*m42.*m53) + (m22.*m33.*m41 - m21.*m33.*m42 -          m22.*m31.*m43 + m21.*m32.*m43).*m55 +                  m23.*((-m35).*m42.*m51 + m32.*m45.*m51 + m35.*m41.*m52 - m31.*m45.*m52 -          m32.*m41.*m55 + m31.*m42.*m55)));
	
	mm13=(m13.*m25.*m44.*m52 - m13.*m24.*m45.*m52 - m12.*m25.*m44.*m53 +    m12.*m24.*m45.*m53 - m13.*m25.*m42.*m54 + m12.*m25.*m43.*m54 +    m13.*m22.*m45.*m54 - m12.*m23.*m45.*m54 +       m15.*(m24.*m43.*m52 - m23.*m44.*m52 - m24.*m42.*m53 + m22.*m44.*m53 +       m23.*m42.*m54 - m22.*m43.*m54) + (m13.*m24.*m42 - m12.*m24.*m43 -       m13.*m22.*m44 + m12.*m23.*m44).*m55 +       m14.*((-m25).*m43.*m52 + m23.*m45.*m52 + m25.*m42.*m53 - m22.*m45.*m53 -       m23.*m42.*m55 + m22.*m43.*m55))./(m13.*m25.*m34.*m42.*m51 -    m13.*m24.*m35.*m42.*m51 - m12.*m25.*m34.*m43.*m51 +       m12.*m24.*m35.*m43.*m51 - m13.*m25.*m32.*m44.*m51 +    m12.*m25.*m33.*m44.*m51 + m13.*m22.*m35.*m44.*m51 - m12.*m23.*m35.*m44.*m51 +    m13.*m24.*m32.*m45.*m51 - m12.*m24.*m33.*m45.*m51 -       m13.*m22.*m34.*m45.*m51 + m12.*m23.*m34.*m45.*m51 -    m13.*m25.*m34.*m41.*m52 + m13.*m24.*m35.*m41.*m52 + m11.*m25.*m34.*m43.*m52 -    m11.*m24.*m35.*m43.*m52 + m13.*m25.*m31.*m44.*m52 -       m11.*m25.*m33.*m44.*m52 - m13.*m21.*m35.*m44.*m52 +    m11.*m23.*m35.*m44.*m52 - m13.*m24.*m31.*m45.*m52 + m11.*m24.*m33.*m45.*m52 +    m13.*m21.*m34.*m45.*m52 - m11.*m23.*m34.*m45.*m52 +       m12.*m25.*m34.*m41.*m53 - m12.*m24.*m35.*m41.*m53 -    m11.*m25.*m34.*m42.*m53 + m11.*m24.*m35.*m42.*m53 - m12.*m25.*m31.*m44.*m53 +    m11.*m25.*m32.*m44.*m53 + m12.*m21.*m35.*m44.*m53 -       m11.*m22.*m35.*m44.*m53 + m12.*m24.*m31.*m45.*m53 -    m11.*m24.*m32.*m45.*m53 - m12.*m21.*m34.*m45.*m53 + m11.*m22.*m34.*m45.*m53 +    m13.*m25.*m32.*m41.*m54 - m12.*m25.*m33.*m41.*m54 -       m13.*m22.*m35.*m41.*m54 + m12.*m23.*m35.*m41.*m54 -    m13.*m25.*m31.*m42.*m54 + m11.*m25.*m33.*m42.*m54 + m13.*m21.*m35.*m42.*m54 -    m11.*m23.*m35.*m42.*m54 + m12.*m25.*m31.*m43.*m54 -       m11.*m25.*m32.*m43.*m54 - m12.*m21.*m35.*m43.*m54 +    m11.*m22.*m35.*m43.*m54 + m13.*m22.*m31.*m45.*m54 - m12.*m23.*m31.*m45.*m54 -    m13.*m21.*m32.*m45.*m54 + m11.*m23.*m32.*m45.*m54 +       m12.*m21.*m33.*m45.*m54 - m11.*m22.*m33.*m45.*m54 +    m15.*(m22.*m34.*m43.*m51 - m22.*m33.*m44.*m51 - m21.*m34.*m43.*m52 +       m21.*m33.*m44.*m52 - m22.*m34.*m41.*m53 + m21.*m34.*m42.*m53 +            m22.*m31.*m44.*m53 - m21.*m32.*m44.*m53 +       m24.*(m33.*m42.*m51 - m32.*m43.*m51 - m33.*m41.*m52 + m31.*m43.*m52 +          m32.*m41.*m53 - m31.*m42.*m53) +            (m22.*m33.*m41 - m21.*m33.*m42 - m22.*m31.*m43 + m21.*m32.*m43).*        m54 + m23.*((-m34).*m42.*m51 + m32.*m44.*m51 + m34.*m41.*m52 -          m31.*m44.*m52 - m32.*m41.*m54 + m31.*m42.*m54)) +       (m13.*((-m24).*m32.*m41 + m22.*m34.*m41 + m24.*m31.*m42 -          m21.*m34.*m42 - m22.*m31.*m44 + m21.*m32.*m44) +                  m12.*(m24.*m33.*m41 - m23.*m34.*m41 - m24.*m31.*m43 + m21.*m34.*m43 +          m23.*m31.*m44 - m21.*m33.*m44) +                  m11.*((-m24).*m33.*m42 + m23.*m34.*m42 + m24.*m32.*m43 - m22.*m34.*m43 -          m23.*m32.*m44 + m22.*m33.*m44)).*m55 +       m14.*((-m22).*m35.*m43.*m51 + m22.*m33.*m45.*m51 + m21.*m35.*m43.*m52 -       m21.*m33.*m45.*m52 + m22.*m35.*m41.*m53 - m21.*m35.*m42.*m53 -       m22.*m31.*m45.*m53 + m21.*m32.*m45.*m53 +                  m25.*((-m33).*m42.*m51 + m32.*m43.*m51 + m33.*m41.*m52 - m31.*m43.*m52 -          m32.*m41.*m53 + m31.*m42.*m53) - m22.*m33.*m41.*m55 +       m21.*m33.*m42.*m55 + m22.*m31.*m43.*m55 -            m21.*m32.*m43.*m55 +       m23.*(m35.*m42.*m51 - m32.*m45.*m51 - m35.*m41.*m52 + m31.*m45.*m52 +          m32.*m41.*m55 - m31.*m42.*m55)));
	
	mm14=(m13.*m25.*m34.*m52 - m13.*m24.*m35.*m52 - m12.*m25.*m34.*m53 +    m12.*m24.*m35.*m53 - m13.*m25.*m32.*m54 + m12.*m25.*m33.*m54 +    m13.*m22.*m35.*m54 - m12.*m23.*m35.*m54 +       m15.*(m24.*m33.*m52 - m23.*m34.*m52 - m24.*m32.*m53 + m22.*m34.*m53 +       m23.*m32.*m54 - m22.*m33.*m54) + (m13.*m24.*m32 - m12.*m24.*m33 -       m13.*m22.*m34 + m12.*m23.*m34).*m55 +       m14.*((-m25).*m33.*m52 + m23.*m35.*m52 + m25.*m32.*m53 - m22.*m35.*m53 -       m23.*m32.*m55 + m22.*m33.*m55))./((-m13).*m25.*m34.*m42.*m51 +    m13.*m24.*m35.*m42.*m51 +       m12.*m25.*m34.*m43.*m51 - m12.*m24.*m35.*m43.*m51 +    m13.*m25.*m32.*m44.*m51 - m12.*m25.*m33.*m44.*m51 - m13.*m22.*m35.*m44.*m51 +    m12.*m23.*m35.*m44.*m51 - m13.*m24.*m32.*m45.*m51 +       m12.*m24.*m33.*m45.*m51 + m13.*m22.*m34.*m45.*m51 -    m12.*m23.*m34.*m45.*m51 + m13.*m25.*m34.*m41.*m52 - m13.*m24.*m35.*m41.*m52 -    m11.*m25.*m34.*m43.*m52 + m11.*m24.*m35.*m43.*m52 -       m13.*m25.*m31.*m44.*m52 + m11.*m25.*m33.*m44.*m52 +    m13.*m21.*m35.*m44.*m52 - m11.*m23.*m35.*m44.*m52 + m13.*m24.*m31.*m45.*m52 -    m11.*m24.*m33.*m45.*m52 - m13.*m21.*m34.*m45.*m52 +       m11.*m23.*m34.*m45.*m52 - m12.*m25.*m34.*m41.*m53 +    m12.*m24.*m35.*m41.*m53 + m11.*m25.*m34.*m42.*m53 - m11.*m24.*m35.*m42.*m53 +    m12.*m25.*m31.*m44.*m53 - m11.*m25.*m32.*m44.*m53 -       m12.*m21.*m35.*m44.*m53 + m11.*m22.*m35.*m44.*m53 -    m12.*m24.*m31.*m45.*m53 + m11.*m24.*m32.*m45.*m53 + m12.*m21.*m34.*m45.*m53 -    m11.*m22.*m34.*m45.*m53 - m13.*m25.*m32.*m41.*m54 +       m12.*m25.*m33.*m41.*m54 + m13.*m22.*m35.*m41.*m54 -    m12.*m23.*m35.*m41.*m54 + m13.*m25.*m31.*m42.*m54 - m11.*m25.*m33.*m42.*m54 -    m13.*m21.*m35.*m42.*m54 + m11.*m23.*m35.*m42.*m54 -       m12.*m25.*m31.*m43.*m54 + m11.*m25.*m32.*m43.*m54 +    m12.*m21.*m35.*m43.*m54 - m11.*m22.*m35.*m43.*m54 - m13.*m22.*m31.*m45.*m54 +    m12.*m23.*m31.*m45.*m54 + m13.*m21.*m32.*m45.*m54 -       m11.*m23.*m32.*m45.*m54 - m12.*m21.*m33.*m45.*m54 +    m11.*m22.*m33.*m45.*m54 +    m15.*((-m22).*m34.*m43.*m51 + m22.*m33.*m44.*m51 + m21.*m34.*m43.*m52 -       m21.*m33.*m44.*m52 +            m22.*m34.*m41.*m53 - m21.*m34.*m42.*m53 - m22.*m31.*m44.*m53 +       m21.*m32.*m44.*m53 +       m24.*((-m33).*m42.*m51 + m32.*m43.*m51 + m33.*m41.*m52 - m31.*m43.*m52 -          m32.*m41.*m53 +                 m31.*m42.*m53) - m22.*m33.*m41.*m54 + m21.*m33.*m42.*m54 +       m22.*m31.*m43.*m54 - m21.*m32.*m43.*m54 +                  m23.*(m34.*m42.*m51 - m32.*m44.*m51 - m34.*m41.*m52 + m31.*m44.*m52 +          m32.*m41.*m54 - m31.*m42.*m54)) +       (m13.*(m24.*m32.*m41 - m22.*m34.*m41 - m24.*m31.*m42 + m21.*m34.*m42 +          m22.*m31.*m44 - m21.*m32.*m44) +                  m12.*((-m24).*m33.*m41 + m23.*m34.*m41 + m24.*m31.*m43 - m21.*m34.*m43 -          m23.*m31.*m44 + m21.*m33.*m44) +                  m11.*(m24.*m33.*m42 - m23.*m34.*m42 - m24.*m32.*m43 + m22.*m34.*m43 +          m23.*m32.*m44 - m22.*m33.*m44)).*m55 +       m14.*(m22.*m35.*m43.*m51 - m22.*m33.*m45.*m51 - m21.*m35.*m43.*m52 +       m21.*m33.*m45.*m52 - m22.*m35.*m41.*m53 + m21.*m35.*m42.*m53 +       m22.*m31.*m45.*m53 - m21.*m32.*m45.*m53 +                  m25.*(m33.*m42.*m51 - m32.*m43.*m51 - m33.*m41.*m52 + m31.*m43.*m52 +          m32.*m41.*m53 - m31.*m42.*m53) + (m22.*m33.*m41 - m21.*m33.*m42 -          m22.*m31.*m43 + m21.*m32.*m43).*m55 +                  m23.*((-m35).*m42.*m51 + m32.*m45.*m51 + m35.*m41.*m52 - m31.*m45.*m52 -          m32.*m41.*m55 + m31.*m42.*m55)));
	
	mm15=(m13.*m25.*m34.*m42 - m13.*m24.*m35.*m42 - m12.*m25.*m34.*m43 +    m12.*m24.*m35.*m43 - m13.*m25.*m32.*m44 + m12.*m25.*m33.*m44 +    m13.*m22.*m35.*m44 - m12.*m23.*m35.*m44 +       m15.*(m24.*m33.*m42 - m23.*m34.*m42 - m24.*m32.*m43 + m22.*m34.*m43 +       m23.*m32.*m44 - m22.*m33.*m44) + (m13.*m24.*m32 - m12.*m24.*m33 -       m13.*m22.*m34 + m12.*m23.*m34).*m45 +       m14.*((-m25).*m33.*m42 + m23.*m35.*m42 + m25.*m32.*m43 - m22.*m35.*m43 -       m23.*m32.*m45 + m22.*m33.*m45))./(m13.*m25.*m34.*m42.*m51 -    m13.*m24.*m35.*m42.*m51 - m12.*m25.*m34.*m43.*m51 +       m12.*m24.*m35.*m43.*m51 - m13.*m25.*m32.*m44.*m51 +    m12.*m25.*m33.*m44.*m51 + m13.*m22.*m35.*m44.*m51 - m12.*m23.*m35.*m44.*m51 +    m13.*m24.*m32.*m45.*m51 - m12.*m24.*m33.*m45.*m51 -       m13.*m22.*m34.*m45.*m51 + m12.*m23.*m34.*m45.*m51 -    m13.*m25.*m34.*m41.*m52 + m13.*m24.*m35.*m41.*m52 + m11.*m25.*m34.*m43.*m52 -    m11.*m24.*m35.*m43.*m52 + m13.*m25.*m31.*m44.*m52 -       m11.*m25.*m33.*m44.*m52 - m13.*m21.*m35.*m44.*m52 +    m11.*m23.*m35.*m44.*m52 - m13.*m24.*m31.*m45.*m52 + m11.*m24.*m33.*m45.*m52 +    m13.*m21.*m34.*m45.*m52 - m11.*m23.*m34.*m45.*m52 +       m12.*m25.*m34.*m41.*m53 - m12.*m24.*m35.*m41.*m53 -    m11.*m25.*m34.*m42.*m53 + m11.*m24.*m35.*m42.*m53 - m12.*m25.*m31.*m44.*m53 +    m11.*m25.*m32.*m44.*m53 + m12.*m21.*m35.*m44.*m53 -       m11.*m22.*m35.*m44.*m53 + m12.*m24.*m31.*m45.*m53 -    m11.*m24.*m32.*m45.*m53 - m12.*m21.*m34.*m45.*m53 + m11.*m22.*m34.*m45.*m53 +    m13.*m25.*m32.*m41.*m54 - m12.*m25.*m33.*m41.*m54 -       m13.*m22.*m35.*m41.*m54 + m12.*m23.*m35.*m41.*m54 -    m13.*m25.*m31.*m42.*m54 + m11.*m25.*m33.*m42.*m54 + m13.*m21.*m35.*m42.*m54 -    m11.*m23.*m35.*m42.*m54 + m12.*m25.*m31.*m43.*m54 -       m11.*m25.*m32.*m43.*m54 - m12.*m21.*m35.*m43.*m54 +    m11.*m22.*m35.*m43.*m54 + m13.*m22.*m31.*m45.*m54 - m12.*m23.*m31.*m45.*m54 -    m13.*m21.*m32.*m45.*m54 + m11.*m23.*m32.*m45.*m54 +       m12.*m21.*m33.*m45.*m54 - m11.*m22.*m33.*m45.*m54 +    m15.*(m22.*m34.*m43.*m51 - m22.*m33.*m44.*m51 - m21.*m34.*m43.*m52 +       m21.*m33.*m44.*m52 - m22.*m34.*m41.*m53 + m21.*m34.*m42.*m53 +            m22.*m31.*m44.*m53 - m21.*m32.*m44.*m53 +       m24.*(m33.*m42.*m51 - m32.*m43.*m51 - m33.*m41.*m52 + m31.*m43.*m52 +          m32.*m41.*m53 - m31.*m42.*m53) +            (m22.*m33.*m41 - m21.*m33.*m42 - m22.*m31.*m43 + m21.*m32.*m43).*        m54 + m23.*((-m34).*m42.*m51 + m32.*m44.*m51 + m34.*m41.*m52 -          m31.*m44.*m52 - m32.*m41.*m54 + m31.*m42.*m54)) +       (m13.*((-m24).*m32.*m41 + m22.*m34.*m41 + m24.*m31.*m42 -          m21.*m34.*m42 - m22.*m31.*m44 + m21.*m32.*m44) +                  m12.*(m24.*m33.*m41 - m23.*m34.*m41 - m24.*m31.*m43 + m21.*m34.*m43 +          m23.*m31.*m44 - m21.*m33.*m44) +                  m11.*((-m24).*m33.*m42 + m23.*m34.*m42 + m24.*m32.*m43 - m22.*m34.*m43 -          m23.*m32.*m44 + m22.*m33.*m44)).*m55 +       m14.*((-m22).*m35.*m43.*m51 + m22.*m33.*m45.*m51 + m21.*m35.*m43.*m52 -       m21.*m33.*m45.*m52 + m22.*m35.*m41.*m53 - m21.*m35.*m42.*m53 -       m22.*m31.*m45.*m53 + m21.*m32.*m45.*m53 +                  m25.*((-m33).*m42.*m51 + m32.*m43.*m51 + m33.*m41.*m52 - m31.*m43.*m52 -          m32.*m41.*m53 + m31.*m42.*m53) - m22.*m33.*m41.*m55 +       m21.*m33.*m42.*m55 + m22.*m31.*m43.*m55 -            m21.*m32.*m43.*m55 +       m23.*(m35.*m42.*m51 - m32.*m45.*m51 - m35.*m41.*m52 + m31.*m45.*m52 +          m32.*m41.*m55 - m31.*m42.*m55)));
	
	mm21=(m23.*m35.*m44.*m51 - m23.*m34.*m45.*m51 - m21.*m35.*m44.*m53 +    m21.*m34.*m45.*m53 - m23.*m35.*m41.*m54 + m21.*m35.*m43.*m54 +    m23.*m31.*m45.*m54 - m21.*m33.*m45.*m54 +       m25.*(m34.*m43.*m51 - m33.*m44.*m51 - m34.*m41.*m53 + m31.*m44.*m53 +       m33.*m41.*m54 - m31.*m43.*m54) + (m23.*m34.*m41 - m21.*m34.*m43 -       m23.*m31.*m44 + m21.*m33.*m44).*m55 +       m24.*((-m35).*m43.*m51 + m33.*m45.*m51 + m35.*m41.*m53 - m31.*m45.*m53 -       m33.*m41.*m55 + m31.*m43.*m55))./((-m13).*m25.*m34.*m42.*m51 +    m13.*m24.*m35.*m42.*m51 +       m12.*m25.*m34.*m43.*m51 - m12.*m24.*m35.*m43.*m51 +    m13.*m25.*m32.*m44.*m51 - m12.*m25.*m33.*m44.*m51 - m13.*m22.*m35.*m44.*m51 +    m12.*m23.*m35.*m44.*m51 - m13.*m24.*m32.*m45.*m51 +       m12.*m24.*m33.*m45.*m51 + m13.*m22.*m34.*m45.*m51 -    m12.*m23.*m34.*m45.*m51 + m13.*m25.*m34.*m41.*m52 - m13.*m24.*m35.*m41.*m52 -    m11.*m25.*m34.*m43.*m52 + m11.*m24.*m35.*m43.*m52 -       m13.*m25.*m31.*m44.*m52 + m11.*m25.*m33.*m44.*m52 +    m13.*m21.*m35.*m44.*m52 - m11.*m23.*m35.*m44.*m52 + m13.*m24.*m31.*m45.*m52 -    m11.*m24.*m33.*m45.*m52 - m13.*m21.*m34.*m45.*m52 +       m11.*m23.*m34.*m45.*m52 - m12.*m25.*m34.*m41.*m53 +    m12.*m24.*m35.*m41.*m53 + m11.*m25.*m34.*m42.*m53 - m11.*m24.*m35.*m42.*m53 +    m12.*m25.*m31.*m44.*m53 - m11.*m25.*m32.*m44.*m53 -       m12.*m21.*m35.*m44.*m53 + m11.*m22.*m35.*m44.*m53 -    m12.*m24.*m31.*m45.*m53 + m11.*m24.*m32.*m45.*m53 + m12.*m21.*m34.*m45.*m53 -    m11.*m22.*m34.*m45.*m53 - m13.*m25.*m32.*m41.*m54 +       m12.*m25.*m33.*m41.*m54 + m13.*m22.*m35.*m41.*m54 -    m12.*m23.*m35.*m41.*m54 + m13.*m25.*m31.*m42.*m54 - m11.*m25.*m33.*m42.*m54 -    m13.*m21.*m35.*m42.*m54 + m11.*m23.*m35.*m42.*m54 -       m12.*m25.*m31.*m43.*m54 + m11.*m25.*m32.*m43.*m54 +    m12.*m21.*m35.*m43.*m54 - m11.*m22.*m35.*m43.*m54 - m13.*m22.*m31.*m45.*m54 +    m12.*m23.*m31.*m45.*m54 + m13.*m21.*m32.*m45.*m54 -       m11.*m23.*m32.*m45.*m54 - m12.*m21.*m33.*m45.*m54 +    m11.*m22.*m33.*m45.*m54 +    m15.*((-m22).*m34.*m43.*m51 + m22.*m33.*m44.*m51 + m21.*m34.*m43.*m52 -       m21.*m33.*m44.*m52 +            m22.*m34.*m41.*m53 - m21.*m34.*m42.*m53 - m22.*m31.*m44.*m53 +       m21.*m32.*m44.*m53 +       m24.*((-m33).*m42.*m51 + m32.*m43.*m51 + m33.*m41.*m52 - m31.*m43.*m52 -          m32.*m41.*m53 +                 m31.*m42.*m53) - m22.*m33.*m41.*m54 + m21.*m33.*m42.*m54 +       m22.*m31.*m43.*m54 - m21.*m32.*m43.*m54 +                  m23.*(m34.*m42.*m51 - m32.*m44.*m51 - m34.*m41.*m52 + m31.*m44.*m52 +          m32.*m41.*m54 - m31.*m42.*m54)) +       (m13.*(m24.*m32.*m41 - m22.*m34.*m41 - m24.*m31.*m42 + m21.*m34.*m42 +          m22.*m31.*m44 - m21.*m32.*m44) +                  m12.*((-m24).*m33.*m41 + m23.*m34.*m41 + m24.*m31.*m43 - m21.*m34.*m43 -          m23.*m31.*m44 + m21.*m33.*m44) +                  m11.*(m24.*m33.*m42 - m23.*m34.*m42 - m24.*m32.*m43 + m22.*m34.*m43 +          m23.*m32.*m44 - m22.*m33.*m44)).*m55 +       m14.*(m22.*m35.*m43.*m51 - m22.*m33.*m45.*m51 - m21.*m35.*m43.*m52 +       m21.*m33.*m45.*m52 - m22.*m35.*m41.*m53 + m21.*m35.*m42.*m53 +       m22.*m31.*m45.*m53 - m21.*m32.*m45.*m53 +                  m25.*(m33.*m42.*m51 - m32.*m43.*m51 - m33.*m41.*m52 + m31.*m43.*m52 +          m32.*m41.*m53 - m31.*m42.*m53) + (m22.*m33.*m41 - m21.*m33.*m42 -          m22.*m31.*m43 + m21.*m32.*m43).*m55 +                  m23.*((-m35).*m42.*m51 + m32.*m45.*m51 + m35.*m41.*m52 - m31.*m45.*m52 -          m32.*m41.*m55 + m31.*m42.*m55)));
	
	mm22=(m13.*m35.*m44.*m51 - m13.*m34.*m45.*m51 - m11.*m35.*m44.*m53 +    m11.*m34.*m45.*m53 - m13.*m35.*m41.*m54 + m11.*m35.*m43.*m54 +    m13.*m31.*m45.*m54 - m11.*m33.*m45.*m54 +       m15.*(m34.*m43.*m51 - m33.*m44.*m51 - m34.*m41.*m53 + m31.*m44.*m53 +       m33.*m41.*m54 - m31.*m43.*m54) + (m13.*m34.*m41 - m11.*m34.*m43 -       m13.*m31.*m44 + m11.*m33.*m44).*m55 +       m14.*((-m35).*m43.*m51 + m33.*m45.*m51 + m35.*m41.*m53 - m31.*m45.*m53 -       m33.*m41.*m55 + m31.*m43.*m55))./(m13.*m25.*m34.*m42.*m51 -    m13.*m24.*m35.*m42.*m51 - m12.*m25.*m34.*m43.*m51 +       m12.*m24.*m35.*m43.*m51 - m13.*m25.*m32.*m44.*m51 +    m12.*m25.*m33.*m44.*m51 + m13.*m22.*m35.*m44.*m51 - m12.*m23.*m35.*m44.*m51 +    m13.*m24.*m32.*m45.*m51 - m12.*m24.*m33.*m45.*m51 -       m13.*m22.*m34.*m45.*m51 + m12.*m23.*m34.*m45.*m51 -    m13.*m25.*m34.*m41.*m52 + m13.*m24.*m35.*m41.*m52 + m11.*m25.*m34.*m43.*m52 -    m11.*m24.*m35.*m43.*m52 + m13.*m25.*m31.*m44.*m52 -       m11.*m25.*m33.*m44.*m52 - m13.*m21.*m35.*m44.*m52 +    m11.*m23.*m35.*m44.*m52 - m13.*m24.*m31.*m45.*m52 + m11.*m24.*m33.*m45.*m52 +    m13.*m21.*m34.*m45.*m52 - m11.*m23.*m34.*m45.*m52 +       m12.*m25.*m34.*m41.*m53 - m12.*m24.*m35.*m41.*m53 -    m11.*m25.*m34.*m42.*m53 + m11.*m24.*m35.*m42.*m53 - m12.*m25.*m31.*m44.*m53 +    m11.*m25.*m32.*m44.*m53 + m12.*m21.*m35.*m44.*m53 -       m11.*m22.*m35.*m44.*m53 + m12.*m24.*m31.*m45.*m53 -    m11.*m24.*m32.*m45.*m53 - m12.*m21.*m34.*m45.*m53 + m11.*m22.*m34.*m45.*m53 +    m13.*m25.*m32.*m41.*m54 - m12.*m25.*m33.*m41.*m54 -       m13.*m22.*m35.*m41.*m54 + m12.*m23.*m35.*m41.*m54 -    m13.*m25.*m31.*m42.*m54 + m11.*m25.*m33.*m42.*m54 + m13.*m21.*m35.*m42.*m54 -    m11.*m23.*m35.*m42.*m54 + m12.*m25.*m31.*m43.*m54 -       m11.*m25.*m32.*m43.*m54 - m12.*m21.*m35.*m43.*m54 +    m11.*m22.*m35.*m43.*m54 + m13.*m22.*m31.*m45.*m54 - m12.*m23.*m31.*m45.*m54 -    m13.*m21.*m32.*m45.*m54 + m11.*m23.*m32.*m45.*m54 +       m12.*m21.*m33.*m45.*m54 - m11.*m22.*m33.*m45.*m54 +    m15.*(m22.*m34.*m43.*m51 - m22.*m33.*m44.*m51 - m21.*m34.*m43.*m52 +       m21.*m33.*m44.*m52 - m22.*m34.*m41.*m53 + m21.*m34.*m42.*m53 +            m22.*m31.*m44.*m53 - m21.*m32.*m44.*m53 +       m24.*(m33.*m42.*m51 - m32.*m43.*m51 - m33.*m41.*m52 + m31.*m43.*m52 +          m32.*m41.*m53 - m31.*m42.*m53) +            (m22.*m33.*m41 - m21.*m33.*m42 - m22.*m31.*m43 + m21.*m32.*m43).*        m54 + m23.*((-m34).*m42.*m51 + m32.*m44.*m51 + m34.*m41.*m52 -          m31.*m44.*m52 - m32.*m41.*m54 + m31.*m42.*m54)) +       (m13.*((-m24).*m32.*m41 + m22.*m34.*m41 + m24.*m31.*m42 -          m21.*m34.*m42 - m22.*m31.*m44 + m21.*m32.*m44) +                  m12.*(m24.*m33.*m41 - m23.*m34.*m41 - m24.*m31.*m43 + m21.*m34.*m43 +          m23.*m31.*m44 - m21.*m33.*m44) +                  m11.*((-m24).*m33.*m42 + m23.*m34.*m42 + m24.*m32.*m43 - m22.*m34.*m43 -          m23.*m32.*m44 + m22.*m33.*m44)).*m55 +       m14.*((-m22).*m35.*m43.*m51 + m22.*m33.*m45.*m51 + m21.*m35.*m43.*m52 -       m21.*m33.*m45.*m52 + m22.*m35.*m41.*m53 - m21.*m35.*m42.*m53 -       m22.*m31.*m45.*m53 + m21.*m32.*m45.*m53 +                  m25.*((-m33).*m42.*m51 + m32.*m43.*m51 + m33.*m41.*m52 - m31.*m43.*m52 -          m32.*m41.*m53 + m31.*m42.*m53) - m22.*m33.*m41.*m55 +       m21.*m33.*m42.*m55 + m22.*m31.*m43.*m55 -            m21.*m32.*m43.*m55 +       m23.*(m35.*m42.*m51 - m32.*m45.*m51 - m35.*m41.*m52 + m31.*m45.*m52 +          m32.*m41.*m55 - m31.*m42.*m55)));
	
	mm23=(m13.*m25.*m44.*m51 - m13.*m24.*m45.*m51 - m11.*m25.*m44.*m53 +    m11.*m24.*m45.*m53 - m13.*m25.*m41.*m54 + m11.*m25.*m43.*m54 +    m13.*m21.*m45.*m54 - m11.*m23.*m45.*m54 +       m15.*(m24.*m43.*m51 - m23.*m44.*m51 - m24.*m41.*m53 + m21.*m44.*m53 +       m23.*m41.*m54 - m21.*m43.*m54) + (m13.*m24.*m41 - m11.*m24.*m43 -       m13.*m21.*m44 + m11.*m23.*m44).*m55 +       m14.*((-m25).*m43.*m51 + m23.*m45.*m51 + m25.*m41.*m53 - m21.*m45.*m53 -       m23.*m41.*m55 + m21.*m43.*m55))./((-m13).*m25.*m34.*m42.*m51 +    m13.*m24.*m35.*m42.*m51 +       m12.*m25.*m34.*m43.*m51 - m12.*m24.*m35.*m43.*m51 +    m13.*m25.*m32.*m44.*m51 - m12.*m25.*m33.*m44.*m51 - m13.*m22.*m35.*m44.*m51 +    m12.*m23.*m35.*m44.*m51 - m13.*m24.*m32.*m45.*m51 +       m12.*m24.*m33.*m45.*m51 + m13.*m22.*m34.*m45.*m51 -    m12.*m23.*m34.*m45.*m51 + m13.*m25.*m34.*m41.*m52 - m13.*m24.*m35.*m41.*m52 -    m11.*m25.*m34.*m43.*m52 + m11.*m24.*m35.*m43.*m52 -       m13.*m25.*m31.*m44.*m52 + m11.*m25.*m33.*m44.*m52 +    m13.*m21.*m35.*m44.*m52 - m11.*m23.*m35.*m44.*m52 + m13.*m24.*m31.*m45.*m52 -    m11.*m24.*m33.*m45.*m52 - m13.*m21.*m34.*m45.*m52 +       m11.*m23.*m34.*m45.*m52 - m12.*m25.*m34.*m41.*m53 +    m12.*m24.*m35.*m41.*m53 + m11.*m25.*m34.*m42.*m53 - m11.*m24.*m35.*m42.*m53 +    m12.*m25.*m31.*m44.*m53 - m11.*m25.*m32.*m44.*m53 -       m12.*m21.*m35.*m44.*m53 + m11.*m22.*m35.*m44.*m53 -    m12.*m24.*m31.*m45.*m53 + m11.*m24.*m32.*m45.*m53 + m12.*m21.*m34.*m45.*m53 -    m11.*m22.*m34.*m45.*m53 - m13.*m25.*m32.*m41.*m54 +       m12.*m25.*m33.*m41.*m54 + m13.*m22.*m35.*m41.*m54 -    m12.*m23.*m35.*m41.*m54 + m13.*m25.*m31.*m42.*m54 - m11.*m25.*m33.*m42.*m54 -    m13.*m21.*m35.*m42.*m54 + m11.*m23.*m35.*m42.*m54 -       m12.*m25.*m31.*m43.*m54 + m11.*m25.*m32.*m43.*m54 +    m12.*m21.*m35.*m43.*m54 - m11.*m22.*m35.*m43.*m54 - m13.*m22.*m31.*m45.*m54 +    m12.*m23.*m31.*m45.*m54 + m13.*m21.*m32.*m45.*m54 -       m11.*m23.*m32.*m45.*m54 - m12.*m21.*m33.*m45.*m54 +    m11.*m22.*m33.*m45.*m54 +    m15.*((-m22).*m34.*m43.*m51 + m22.*m33.*m44.*m51 + m21.*m34.*m43.*m52 -       m21.*m33.*m44.*m52 +            m22.*m34.*m41.*m53 - m21.*m34.*m42.*m53 - m22.*m31.*m44.*m53 +       m21.*m32.*m44.*m53 +       m24.*((-m33).*m42.*m51 + m32.*m43.*m51 + m33.*m41.*m52 - m31.*m43.*m52 -          m32.*m41.*m53 +                 m31.*m42.*m53) - m22.*m33.*m41.*m54 + m21.*m33.*m42.*m54 +       m22.*m31.*m43.*m54 - m21.*m32.*m43.*m54 +                  m23.*(m34.*m42.*m51 - m32.*m44.*m51 - m34.*m41.*m52 + m31.*m44.*m52 +          m32.*m41.*m54 - m31.*m42.*m54)) +       (m13.*(m24.*m32.*m41 - m22.*m34.*m41 - m24.*m31.*m42 + m21.*m34.*m42 +          m22.*m31.*m44 - m21.*m32.*m44) +                  m12.*((-m24).*m33.*m41 + m23.*m34.*m41 + m24.*m31.*m43 - m21.*m34.*m43 -          m23.*m31.*m44 + m21.*m33.*m44) +                  m11.*(m24.*m33.*m42 - m23.*m34.*m42 - m24.*m32.*m43 + m22.*m34.*m43 +          m23.*m32.*m44 - m22.*m33.*m44)).*m55 +       m14.*(m22.*m35.*m43.*m51 - m22.*m33.*m45.*m51 - m21.*m35.*m43.*m52 +       m21.*m33.*m45.*m52 - m22.*m35.*m41.*m53 + m21.*m35.*m42.*m53 +       m22.*m31.*m45.*m53 - m21.*m32.*m45.*m53 +                  m25.*(m33.*m42.*m51 - m32.*m43.*m51 - m33.*m41.*m52 + m31.*m43.*m52 +          m32.*m41.*m53 - m31.*m42.*m53) + (m22.*m33.*m41 - m21.*m33.*m42 -          m22.*m31.*m43 + m21.*m32.*m43).*m55 +                  m23.*((-m35).*m42.*m51 + m32.*m45.*m51 + m35.*m41.*m52 - m31.*m45.*m52 -          m32.*m41.*m55 + m31.*m42.*m55)));
	
	mm24=(m13.*m25.*m34.*m51 - m13.*m24.*m35.*m51 - m11.*m25.*m34.*m53 +    m11.*m24.*m35.*m53 - m13.*m25.*m31.*m54 + m11.*m25.*m33.*m54 +    m13.*m21.*m35.*m54 - m11.*m23.*m35.*m54 +       m15.*(m24.*m33.*m51 - m23.*m34.*m51 - m24.*m31.*m53 + m21.*m34.*m53 +       m23.*m31.*m54 - m21.*m33.*m54) + (m13.*m24.*m31 - m11.*m24.*m33 -       m13.*m21.*m34 + m11.*m23.*m34).*m55 +       m14.*((-m25).*m33.*m51 + m23.*m35.*m51 + m25.*m31.*m53 - m21.*m35.*m53 -       m23.*m31.*m55 + m21.*m33.*m55))./(m13.*m25.*m34.*m42.*m51 -    m13.*m24.*m35.*m42.*m51 - m12.*m25.*m34.*m43.*m51 +       m12.*m24.*m35.*m43.*m51 - m13.*m25.*m32.*m44.*m51 +    m12.*m25.*m33.*m44.*m51 + m13.*m22.*m35.*m44.*m51 - m12.*m23.*m35.*m44.*m51 +    m13.*m24.*m32.*m45.*m51 - m12.*m24.*m33.*m45.*m51 -       m13.*m22.*m34.*m45.*m51 + m12.*m23.*m34.*m45.*m51 -    m13.*m25.*m34.*m41.*m52 + m13.*m24.*m35.*m41.*m52 + m11.*m25.*m34.*m43.*m52 -    m11.*m24.*m35.*m43.*m52 + m13.*m25.*m31.*m44.*m52 -       m11.*m25.*m33.*m44.*m52 - m13.*m21.*m35.*m44.*m52 +    m11.*m23.*m35.*m44.*m52 - m13.*m24.*m31.*m45.*m52 + m11.*m24.*m33.*m45.*m52 +    m13.*m21.*m34.*m45.*m52 - m11.*m23.*m34.*m45.*m52 +       m12.*m25.*m34.*m41.*m53 - m12.*m24.*m35.*m41.*m53 -    m11.*m25.*m34.*m42.*m53 + m11.*m24.*m35.*m42.*m53 - m12.*m25.*m31.*m44.*m53 +    m11.*m25.*m32.*m44.*m53 + m12.*m21.*m35.*m44.*m53 -       m11.*m22.*m35.*m44.*m53 + m12.*m24.*m31.*m45.*m53 -    m11.*m24.*m32.*m45.*m53 - m12.*m21.*m34.*m45.*m53 + m11.*m22.*m34.*m45.*m53 +    m13.*m25.*m32.*m41.*m54 - m12.*m25.*m33.*m41.*m54 -       m13.*m22.*m35.*m41.*m54 + m12.*m23.*m35.*m41.*m54 -    m13.*m25.*m31.*m42.*m54 + m11.*m25.*m33.*m42.*m54 + m13.*m21.*m35.*m42.*m54 -    m11.*m23.*m35.*m42.*m54 + m12.*m25.*m31.*m43.*m54 -       m11.*m25.*m32.*m43.*m54 - m12.*m21.*m35.*m43.*m54 +    m11.*m22.*m35.*m43.*m54 + m13.*m22.*m31.*m45.*m54 - m12.*m23.*m31.*m45.*m54 -    m13.*m21.*m32.*m45.*m54 + m11.*m23.*m32.*m45.*m54 +       m12.*m21.*m33.*m45.*m54 - m11.*m22.*m33.*m45.*m54 +    m15.*(m22.*m34.*m43.*m51 - m22.*m33.*m44.*m51 - m21.*m34.*m43.*m52 +       m21.*m33.*m44.*m52 - m22.*m34.*m41.*m53 + m21.*m34.*m42.*m53 +            m22.*m31.*m44.*m53 - m21.*m32.*m44.*m53 +       m24.*(m33.*m42.*m51 - m32.*m43.*m51 - m33.*m41.*m52 + m31.*m43.*m52 +          m32.*m41.*m53 - m31.*m42.*m53) +            (m22.*m33.*m41 - m21.*m33.*m42 - m22.*m31.*m43 + m21.*m32.*m43).*        m54 + m23.*((-m34).*m42.*m51 + m32.*m44.*m51 + m34.*m41.*m52 -          m31.*m44.*m52 - m32.*m41.*m54 + m31.*m42.*m54)) +       (m13.*((-m24).*m32.*m41 + m22.*m34.*m41 + m24.*m31.*m42 -          m21.*m34.*m42 - m22.*m31.*m44 + m21.*m32.*m44) +                  m12.*(m24.*m33.*m41 - m23.*m34.*m41 - m24.*m31.*m43 + m21.*m34.*m43 +          m23.*m31.*m44 - m21.*m33.*m44) +                  m11.*((-m24).*m33.*m42 + m23.*m34.*m42 + m24.*m32.*m43 - m22.*m34.*m43 -          m23.*m32.*m44 + m22.*m33.*m44)).*m55 +       m14.*((-m22).*m35.*m43.*m51 + m22.*m33.*m45.*m51 + m21.*m35.*m43.*m52 -       m21.*m33.*m45.*m52 + m22.*m35.*m41.*m53 - m21.*m35.*m42.*m53 -       m22.*m31.*m45.*m53 + m21.*m32.*m45.*m53 +                  m25.*((-m33).*m42.*m51 + m32.*m43.*m51 + m33.*m41.*m52 - m31.*m43.*m52 -          m32.*m41.*m53 + m31.*m42.*m53) - m22.*m33.*m41.*m55 +       m21.*m33.*m42.*m55 + m22.*m31.*m43.*m55 -            m21.*m32.*m43.*m55 +       m23.*(m35.*m42.*m51 - m32.*m45.*m51 - m35.*m41.*m52 + m31.*m45.*m52 +          m32.*m41.*m55 - m31.*m42.*m55)));
	
	mm25=(m13.*m25.*m34.*m41 - m13.*m24.*m35.*m41 - m11.*m25.*m34.*m43 +    m11.*m24.*m35.*m43 - m13.*m25.*m31.*m44 + m11.*m25.*m33.*m44 +    m13.*m21.*m35.*m44 - m11.*m23.*m35.*m44 +       m15.*(m24.*m33.*m41 - m23.*m34.*m41 - m24.*m31.*m43 + m21.*m34.*m43 +       m23.*m31.*m44 - m21.*m33.*m44) + (m13.*m24.*m31 - m11.*m24.*m33 -       m13.*m21.*m34 + m11.*m23.*m34).*m45 +       m14.*((-m25).*m33.*m41 + m23.*m35.*m41 + m25.*m31.*m43 - m21.*m35.*m43 -       m23.*m31.*m45 + m21.*m33.*m45))./((-m13).*m25.*m34.*m42.*m51 +    m13.*m24.*m35.*m42.*m51 +       m12.*m25.*m34.*m43.*m51 - m12.*m24.*m35.*m43.*m51 +    m13.*m25.*m32.*m44.*m51 - m12.*m25.*m33.*m44.*m51 - m13.*m22.*m35.*m44.*m51 +    m12.*m23.*m35.*m44.*m51 - m13.*m24.*m32.*m45.*m51 +       m12.*m24.*m33.*m45.*m51 + m13.*m22.*m34.*m45.*m51 -    m12.*m23.*m34.*m45.*m51 + m13.*m25.*m34.*m41.*m52 - m13.*m24.*m35.*m41.*m52 -    m11.*m25.*m34.*m43.*m52 + m11.*m24.*m35.*m43.*m52 -       m13.*m25.*m31.*m44.*m52 + m11.*m25.*m33.*m44.*m52 +    m13.*m21.*m35.*m44.*m52 - m11.*m23.*m35.*m44.*m52 + m13.*m24.*m31.*m45.*m52 -    m11.*m24.*m33.*m45.*m52 - m13.*m21.*m34.*m45.*m52 +       m11.*m23.*m34.*m45.*m52 - m12.*m25.*m34.*m41.*m53 +    m12.*m24.*m35.*m41.*m53 + m11.*m25.*m34.*m42.*m53 - m11.*m24.*m35.*m42.*m53 +    m12.*m25.*m31.*m44.*m53 - m11.*m25.*m32.*m44.*m53 -       m12.*m21.*m35.*m44.*m53 + m11.*m22.*m35.*m44.*m53 -    m12.*m24.*m31.*m45.*m53 + m11.*m24.*m32.*m45.*m53 + m12.*m21.*m34.*m45.*m53 -    m11.*m22.*m34.*m45.*m53 - m13.*m25.*m32.*m41.*m54 +       m12.*m25.*m33.*m41.*m54 + m13.*m22.*m35.*m41.*m54 -    m12.*m23.*m35.*m41.*m54 + m13.*m25.*m31.*m42.*m54 - m11.*m25.*m33.*m42.*m54 -    m13.*m21.*m35.*m42.*m54 + m11.*m23.*m35.*m42.*m54 -       m12.*m25.*m31.*m43.*m54 + m11.*m25.*m32.*m43.*m54 +    m12.*m21.*m35.*m43.*m54 - m11.*m22.*m35.*m43.*m54 - m13.*m22.*m31.*m45.*m54 +    m12.*m23.*m31.*m45.*m54 + m13.*m21.*m32.*m45.*m54 -       m11.*m23.*m32.*m45.*m54 - m12.*m21.*m33.*m45.*m54 +    m11.*m22.*m33.*m45.*m54 +    m15.*((-m22).*m34.*m43.*m51 + m22.*m33.*m44.*m51 + m21.*m34.*m43.*m52 -       m21.*m33.*m44.*m52 +            m22.*m34.*m41.*m53 - m21.*m34.*m42.*m53 - m22.*m31.*m44.*m53 +       m21.*m32.*m44.*m53 +       m24.*((-m33).*m42.*m51 + m32.*m43.*m51 + m33.*m41.*m52 - m31.*m43.*m52 -          m32.*m41.*m53 +                 m31.*m42.*m53) - m22.*m33.*m41.*m54 + m21.*m33.*m42.*m54 +       m22.*m31.*m43.*m54 - m21.*m32.*m43.*m54 +                  m23.*(m34.*m42.*m51 - m32.*m44.*m51 - m34.*m41.*m52 + m31.*m44.*m52 +          m32.*m41.*m54 - m31.*m42.*m54)) +       (m13.*(m24.*m32.*m41 - m22.*m34.*m41 - m24.*m31.*m42 + m21.*m34.*m42 +          m22.*m31.*m44 - m21.*m32.*m44) +                  m12.*((-m24).*m33.*m41 + m23.*m34.*m41 + m24.*m31.*m43 - m21.*m34.*m43 -          m23.*m31.*m44 + m21.*m33.*m44) +                  m11.*(m24.*m33.*m42 - m23.*m34.*m42 - m24.*m32.*m43 + m22.*m34.*m43 +          m23.*m32.*m44 - m22.*m33.*m44)).*m55 +       m14.*(m22.*m35.*m43.*m51 - m22.*m33.*m45.*m51 - m21.*m35.*m43.*m52 +       m21.*m33.*m45.*m52 - m22.*m35.*m41.*m53 + m21.*m35.*m42.*m53 +       m22.*m31.*m45.*m53 - m21.*m32.*m45.*m53 +                  m25.*(m33.*m42.*m51 - m32.*m43.*m51 - m33.*m41.*m52 + m31.*m43.*m52 +          m32.*m41.*m53 - m31.*m42.*m53) + (m22.*m33.*m41 - m21.*m33.*m42 -          m22.*m31.*m43 + m21.*m32.*m43).*m55 +                  m23.*((-m35).*m42.*m51 + m32.*m45.*m51 + m35.*m41.*m52 - m31.*m45.*m52 -          m32.*m41.*m55 + m31.*m42.*m55))); 	
	
	mm31=(m22.*m35.*m44.*m51 - m22.*m34.*m45.*m51 - m21.*m35.*m44.*m52 +    m21.*m34.*m45.*m52 - m22.*m35.*m41.*m54 + m21.*m35.*m42.*m54 +    m22.*m31.*m45.*m54 - m21.*m32.*m45.*m54 +       m25.*(m34.*m42.*m51 - m32.*m44.*m51 - m34.*m41.*m52 + m31.*m44.*m52 +       m32.*m41.*m54 - m31.*m42.*m54) + (m22.*m34.*m41 - m21.*m34.*m42 -       m22.*m31.*m44 + m21.*m32.*m44).*m55 +       m24.*((-m35).*m42.*m51 + m32.*m45.*m51 + m35.*m41.*m52 - m31.*m45.*m52 -       m32.*m41.*m55 + m31.*m42.*m55))./(m13.*m25.*m34.*m42.*m51 -    m13.*m24.*m35.*m42.*m51 - m12.*m25.*m34.*m43.*m51 +       m12.*m24.*m35.*m43.*m51 - m13.*m25.*m32.*m44.*m51 +    m12.*m25.*m33.*m44.*m51 + m13.*m22.*m35.*m44.*m51 - m12.*m23.*m35.*m44.*m51 +    m13.*m24.*m32.*m45.*m51 - m12.*m24.*m33.*m45.*m51 -       m13.*m22.*m34.*m45.*m51 + m12.*m23.*m34.*m45.*m51 -    m13.*m25.*m34.*m41.*m52 + m13.*m24.*m35.*m41.*m52 + m11.*m25.*m34.*m43.*m52 -    m11.*m24.*m35.*m43.*m52 + m13.*m25.*m31.*m44.*m52 -       m11.*m25.*m33.*m44.*m52 - m13.*m21.*m35.*m44.*m52 +    m11.*m23.*m35.*m44.*m52 - m13.*m24.*m31.*m45.*m52 + m11.*m24.*m33.*m45.*m52 +    m13.*m21.*m34.*m45.*m52 - m11.*m23.*m34.*m45.*m52 +       m12.*m25.*m34.*m41.*m53 - m12.*m24.*m35.*m41.*m53 -    m11.*m25.*m34.*m42.*m53 + m11.*m24.*m35.*m42.*m53 - m12.*m25.*m31.*m44.*m53 +    m11.*m25.*m32.*m44.*m53 + m12.*m21.*m35.*m44.*m53 -       m11.*m22.*m35.*m44.*m53 + m12.*m24.*m31.*m45.*m53 -    m11.*m24.*m32.*m45.*m53 - m12.*m21.*m34.*m45.*m53 + m11.*m22.*m34.*m45.*m53 +    m13.*m25.*m32.*m41.*m54 - m12.*m25.*m33.*m41.*m54 -       m13.*m22.*m35.*m41.*m54 + m12.*m23.*m35.*m41.*m54 -    m13.*m25.*m31.*m42.*m54 + m11.*m25.*m33.*m42.*m54 + m13.*m21.*m35.*m42.*m54 -    m11.*m23.*m35.*m42.*m54 + m12.*m25.*m31.*m43.*m54 -       m11.*m25.*m32.*m43.*m54 - m12.*m21.*m35.*m43.*m54 +    m11.*m22.*m35.*m43.*m54 + m13.*m22.*m31.*m45.*m54 - m12.*m23.*m31.*m45.*m54 -    m13.*m21.*m32.*m45.*m54 + m11.*m23.*m32.*m45.*m54 +       m12.*m21.*m33.*m45.*m54 - m11.*m22.*m33.*m45.*m54 +    m15.*(m22.*m34.*m43.*m51 - m22.*m33.*m44.*m51 - m21.*m34.*m43.*m52 +       m21.*m33.*m44.*m52 - m22.*m34.*m41.*m53 + m21.*m34.*m42.*m53 +            m22.*m31.*m44.*m53 - m21.*m32.*m44.*m53 +       m24.*(m33.*m42.*m51 - m32.*m43.*m51 - m33.*m41.*m52 + m31.*m43.*m52 +          m32.*m41.*m53 - m31.*m42.*m53) +            (m22.*m33.*m41 - m21.*m33.*m42 - m22.*m31.*m43 + m21.*m32.*m43).*        m54 + m23.*((-m34).*m42.*m51 + m32.*m44.*m51 + m34.*m41.*m52 -          m31.*m44.*m52 - m32.*m41.*m54 + m31.*m42.*m54)) +       (m13.*((-m24).*m32.*m41 + m22.*m34.*m41 + m24.*m31.*m42 -          m21.*m34.*m42 - m22.*m31.*m44 + m21.*m32.*m44) +                  m12.*(m24.*m33.*m41 - m23.*m34.*m41 - m24.*m31.*m43 + m21.*m34.*m43 +          m23.*m31.*m44 - m21.*m33.*m44) +                  m11.*((-m24).*m33.*m42 + m23.*m34.*m42 + m24.*m32.*m43 - m22.*m34.*m43 -          m23.*m32.*m44 + m22.*m33.*m44)).*m55 +       m14.*((-m22).*m35.*m43.*m51 + m22.*m33.*m45.*m51 + m21.*m35.*m43.*m52 -       m21.*m33.*m45.*m52 + m22.*m35.*m41.*m53 - m21.*m35.*m42.*m53 -       m22.*m31.*m45.*m53 + m21.*m32.*m45.*m53 +                  m25.*((-m33).*m42.*m51 + m32.*m43.*m51 + m33.*m41.*m52 - m31.*m43.*m52 -          m32.*m41.*m53 + m31.*m42.*m53) - m22.*m33.*m41.*m55 +       m21.*m33.*m42.*m55 + m22.*m31.*m43.*m55 -            m21.*m32.*m43.*m55 +       m23.*(m35.*m42.*m51 - m32.*m45.*m51 - m35.*m41.*m52 + m31.*m45.*m52 +          m32.*m41.*m55 - m31.*m42.*m55)));
	
	mm32=(m12.*m35.*m44.*m51 - m12.*m34.*m45.*m51 - m11.*m35.*m44.*m52 +    m11.*m34.*m45.*m52 - m12.*m35.*m41.*m54 + m11.*m35.*m42.*m54 +    m12.*m31.*m45.*m54 - m11.*m32.*m45.*m54 +       m15.*(m34.*m42.*m51 - m32.*m44.*m51 - m34.*m41.*m52 + m31.*m44.*m52 +       m32.*m41.*m54 - m31.*m42.*m54) + (m12.*m34.*m41 - m11.*m34.*m42 -       m12.*m31.*m44 + m11.*m32.*m44).*m55 +       m14.*((-m35).*m42.*m51 + m32.*m45.*m51 + m35.*m41.*m52 - m31.*m45.*m52 -       m32.*m41.*m55 + m31.*m42.*m55))./((-m13).*m25.*m34.*m42.*m51 +    m13.*m24.*m35.*m42.*m51 +       m12.*m25.*m34.*m43.*m51 - m12.*m24.*m35.*m43.*m51 +    m13.*m25.*m32.*m44.*m51 - m12.*m25.*m33.*m44.*m51 - m13.*m22.*m35.*m44.*m51 +    m12.*m23.*m35.*m44.*m51 - m13.*m24.*m32.*m45.*m51 +       m12.*m24.*m33.*m45.*m51 + m13.*m22.*m34.*m45.*m51 -    m12.*m23.*m34.*m45.*m51 + m13.*m25.*m34.*m41.*m52 - m13.*m24.*m35.*m41.*m52 -    m11.*m25.*m34.*m43.*m52 + m11.*m24.*m35.*m43.*m52 -       m13.*m25.*m31.*m44.*m52 + m11.*m25.*m33.*m44.*m52 +    m13.*m21.*m35.*m44.*m52 - m11.*m23.*m35.*m44.*m52 + m13.*m24.*m31.*m45.*m52 -    m11.*m24.*m33.*m45.*m52 - m13.*m21.*m34.*m45.*m52 +       m11.*m23.*m34.*m45.*m52 - m12.*m25.*m34.*m41.*m53 +    m12.*m24.*m35.*m41.*m53 + m11.*m25.*m34.*m42.*m53 - m11.*m24.*m35.*m42.*m53 +    m12.*m25.*m31.*m44.*m53 - m11.*m25.*m32.*m44.*m53 -       m12.*m21.*m35.*m44.*m53 + m11.*m22.*m35.*m44.*m53 -    m12.*m24.*m31.*m45.*m53 + m11.*m24.*m32.*m45.*m53 + m12.*m21.*m34.*m45.*m53 -    m11.*m22.*m34.*m45.*m53 - m13.*m25.*m32.*m41.*m54 +       m12.*m25.*m33.*m41.*m54 + m13.*m22.*m35.*m41.*m54 -    m12.*m23.*m35.*m41.*m54 + m13.*m25.*m31.*m42.*m54 - m11.*m25.*m33.*m42.*m54 -    m13.*m21.*m35.*m42.*m54 + m11.*m23.*m35.*m42.*m54 -       m12.*m25.*m31.*m43.*m54 + m11.*m25.*m32.*m43.*m54 +    m12.*m21.*m35.*m43.*m54 - m11.*m22.*m35.*m43.*m54 - m13.*m22.*m31.*m45.*m54 +    m12.*m23.*m31.*m45.*m54 + m13.*m21.*m32.*m45.*m54 -       m11.*m23.*m32.*m45.*m54 - m12.*m21.*m33.*m45.*m54 +    m11.*m22.*m33.*m45.*m54 +    m15.*((-m22).*m34.*m43.*m51 + m22.*m33.*m44.*m51 + m21.*m34.*m43.*m52 -       m21.*m33.*m44.*m52 +            m22.*m34.*m41.*m53 - m21.*m34.*m42.*m53 - m22.*m31.*m44.*m53 +       m21.*m32.*m44.*m53 +       m24.*((-m33).*m42.*m51 + m32.*m43.*m51 + m33.*m41.*m52 - m31.*m43.*m52 -          m32.*m41.*m53 +                 m31.*m42.*m53) - m22.*m33.*m41.*m54 + m21.*m33.*m42.*m54 +       m22.*m31.*m43.*m54 - m21.*m32.*m43.*m54 +                  m23.*(m34.*m42.*m51 - m32.*m44.*m51 - m34.*m41.*m52 + m31.*m44.*m52 +          m32.*m41.*m54 - m31.*m42.*m54)) +       (m13.*(m24.*m32.*m41 - m22.*m34.*m41 - m24.*m31.*m42 + m21.*m34.*m42 +          m22.*m31.*m44 - m21.*m32.*m44) +                  m12.*((-m24).*m33.*m41 + m23.*m34.*m41 + m24.*m31.*m43 - m21.*m34.*m43 -          m23.*m31.*m44 + m21.*m33.*m44) +                  m11.*(m24.*m33.*m42 - m23.*m34.*m42 - m24.*m32.*m43 + m22.*m34.*m43 +          m23.*m32.*m44 - m22.*m33.*m44)).*m55 +       m14.*(m22.*m35.*m43.*m51 - m22.*m33.*m45.*m51 - m21.*m35.*m43.*m52 +       m21.*m33.*m45.*m52 - m22.*m35.*m41.*m53 + m21.*m35.*m42.*m53 +       m22.*m31.*m45.*m53 - m21.*m32.*m45.*m53 +                  m25.*(m33.*m42.*m51 - m32.*m43.*m51 - m33.*m41.*m52 + m31.*m43.*m52 +          m32.*m41.*m53 - m31.*m42.*m53) + (m22.*m33.*m41 - m21.*m33.*m42 -          m22.*m31.*m43 + m21.*m32.*m43).*m55 +                  m23.*((-m35).*m42.*m51 + m32.*m45.*m51 + m35.*m41.*m52 - m31.*m45.*m52 -          m32.*m41.*m55 + m31.*m42.*m55)));
	
	mm33=(m12.*m25.*m44.*m51 - m12.*m24.*m45.*m51 - m11.*m25.*m44.*m52 +    m11.*m24.*m45.*m52 - m12.*m25.*m41.*m54 + m11.*m25.*m42.*m54 +    m12.*m21.*m45.*m54 - m11.*m22.*m45.*m54 +       m15.*(m24.*m42.*m51 - m22.*m44.*m51 - m24.*m41.*m52 + m21.*m44.*m52 +       m22.*m41.*m54 - m21.*m42.*m54) + (m12.*m24.*m41 - m11.*m24.*m42 -       m12.*m21.*m44 + m11.*m22.*m44).*m55 +       m14.*((-m25).*m42.*m51 + m22.*m45.*m51 + m25.*m41.*m52 - m21.*m45.*m52 -       m22.*m41.*m55 + m21.*m42.*m55))./(m13.*m25.*m34.*m42.*m51 -    m13.*m24.*m35.*m42.*m51 - m12.*m25.*m34.*m43.*m51 +       m12.*m24.*m35.*m43.*m51 - m13.*m25.*m32.*m44.*m51 +    m12.*m25.*m33.*m44.*m51 + m13.*m22.*m35.*m44.*m51 - m12.*m23.*m35.*m44.*m51 +    m13.*m24.*m32.*m45.*m51 - m12.*m24.*m33.*m45.*m51 -       m13.*m22.*m34.*m45.*m51 + m12.*m23.*m34.*m45.*m51 -    m13.*m25.*m34.*m41.*m52 + m13.*m24.*m35.*m41.*m52 + m11.*m25.*m34.*m43.*m52 -    m11.*m24.*m35.*m43.*m52 + m13.*m25.*m31.*m44.*m52 -       m11.*m25.*m33.*m44.*m52 - m13.*m21.*m35.*m44.*m52 +    m11.*m23.*m35.*m44.*m52 - m13.*m24.*m31.*m45.*m52 + m11.*m24.*m33.*m45.*m52 +    m13.*m21.*m34.*m45.*m52 - m11.*m23.*m34.*m45.*m52 +       m12.*m25.*m34.*m41.*m53 - m12.*m24.*m35.*m41.*m53 -    m11.*m25.*m34.*m42.*m53 + m11.*m24.*m35.*m42.*m53 - m12.*m25.*m31.*m44.*m53 +    m11.*m25.*m32.*m44.*m53 + m12.*m21.*m35.*m44.*m53 -       m11.*m22.*m35.*m44.*m53 + m12.*m24.*m31.*m45.*m53 -    m11.*m24.*m32.*m45.*m53 - m12.*m21.*m34.*m45.*m53 + m11.*m22.*m34.*m45.*m53 +    m13.*m25.*m32.*m41.*m54 - m12.*m25.*m33.*m41.*m54 -       m13.*m22.*m35.*m41.*m54 + m12.*m23.*m35.*m41.*m54 -    m13.*m25.*m31.*m42.*m54 + m11.*m25.*m33.*m42.*m54 + m13.*m21.*m35.*m42.*m54 -    m11.*m23.*m35.*m42.*m54 + m12.*m25.*m31.*m43.*m54 -       m11.*m25.*m32.*m43.*m54 - m12.*m21.*m35.*m43.*m54 +    m11.*m22.*m35.*m43.*m54 + m13.*m22.*m31.*m45.*m54 - m12.*m23.*m31.*m45.*m54 -    m13.*m21.*m32.*m45.*m54 + m11.*m23.*m32.*m45.*m54 +       m12.*m21.*m33.*m45.*m54 - m11.*m22.*m33.*m45.*m54 +    m15.*(m22.*m34.*m43.*m51 - m22.*m33.*m44.*m51 - m21.*m34.*m43.*m52 +       m21.*m33.*m44.*m52 - m22.*m34.*m41.*m53 + m21.*m34.*m42.*m53 +            m22.*m31.*m44.*m53 - m21.*m32.*m44.*m53 +       m24.*(m33.*m42.*m51 - m32.*m43.*m51 - m33.*m41.*m52 + m31.*m43.*m52 +          m32.*m41.*m53 - m31.*m42.*m53) +            (m22.*m33.*m41 - m21.*m33.*m42 - m22.*m31.*m43 + m21.*m32.*m43).*        m54 + m23.*((-m34).*m42.*m51 + m32.*m44.*m51 + m34.*m41.*m52 -          m31.*m44.*m52 - m32.*m41.*m54 + m31.*m42.*m54)) +       (m13.*((-m24).*m32.*m41 + m22.*m34.*m41 + m24.*m31.*m42 -          m21.*m34.*m42 - m22.*m31.*m44 + m21.*m32.*m44) +                  m12.*(m24.*m33.*m41 - m23.*m34.*m41 - m24.*m31.*m43 + m21.*m34.*m43 +          m23.*m31.*m44 - m21.*m33.*m44) +                  m11.*((-m24).*m33.*m42 + m23.*m34.*m42 + m24.*m32.*m43 - m22.*m34.*m43 -          m23.*m32.*m44 + m22.*m33.*m44)).*m55 +       m14.*((-m22).*m35.*m43.*m51 + m22.*m33.*m45.*m51 + m21.*m35.*m43.*m52 -       m21.*m33.*m45.*m52 + m22.*m35.*m41.*m53 - m21.*m35.*m42.*m53 -       m22.*m31.*m45.*m53 + m21.*m32.*m45.*m53 +                  m25.*((-m33).*m42.*m51 + m32.*m43.*m51 + m33.*m41.*m52 - m31.*m43.*m52 -          m32.*m41.*m53 + m31.*m42.*m53) - m22.*m33.*m41.*m55 +       m21.*m33.*m42.*m55 + m22.*m31.*m43.*m55 -            m21.*m32.*m43.*m55 +       m23.*(m35.*m42.*m51 - m32.*m45.*m51 - m35.*m41.*m52 + m31.*m45.*m52 +          m32.*m41.*m55 - m31.*m42.*m55)));
	
	mm34=(m12.*m25.*m34.*m51 - m12.*m24.*m35.*m51 - m11.*m25.*m34.*m52 +    m11.*m24.*m35.*m52 - m12.*m25.*m31.*m54 + m11.*m25.*m32.*m54 +    m12.*m21.*m35.*m54 - m11.*m22.*m35.*m54 +       m15.*(m24.*m32.*m51 - m22.*m34.*m51 - m24.*m31.*m52 + m21.*m34.*m52 +       m22.*m31.*m54 - m21.*m32.*m54) + (m12.*m24.*m31 - m11.*m24.*m32 -       m12.*m21.*m34 + m11.*m22.*m34).*m55 +       m14.*((-m25).*m32.*m51 + m22.*m35.*m51 + m25.*m31.*m52 - m21.*m35.*m52 -       m22.*m31.*m55 + m21.*m32.*m55))./((-m13).*m25.*m34.*m42.*m51 +    m13.*m24.*m35.*m42.*m51 +       m12.*m25.*m34.*m43.*m51 - m12.*m24.*m35.*m43.*m51 +    m13.*m25.*m32.*m44.*m51 - m12.*m25.*m33.*m44.*m51 - m13.*m22.*m35.*m44.*m51 +    m12.*m23.*m35.*m44.*m51 - m13.*m24.*m32.*m45.*m51 +       m12.*m24.*m33.*m45.*m51 + m13.*m22.*m34.*m45.*m51 -    m12.*m23.*m34.*m45.*m51 + m13.*m25.*m34.*m41.*m52 - m13.*m24.*m35.*m41.*m52 -    m11.*m25.*m34.*m43.*m52 + m11.*m24.*m35.*m43.*m52 -       m13.*m25.*m31.*m44.*m52 + m11.*m25.*m33.*m44.*m52 +    m13.*m21.*m35.*m44.*m52 - m11.*m23.*m35.*m44.*m52 + m13.*m24.*m31.*m45.*m52 -    m11.*m24.*m33.*m45.*m52 - m13.*m21.*m34.*m45.*m52 +       m11.*m23.*m34.*m45.*m52 - m12.*m25.*m34.*m41.*m53 +    m12.*m24.*m35.*m41.*m53 + m11.*m25.*m34.*m42.*m53 - m11.*m24.*m35.*m42.*m53 +    m12.*m25.*m31.*m44.*m53 - m11.*m25.*m32.*m44.*m53 -       m12.*m21.*m35.*m44.*m53 + m11.*m22.*m35.*m44.*m53 -    m12.*m24.*m31.*m45.*m53 + m11.*m24.*m32.*m45.*m53 + m12.*m21.*m34.*m45.*m53 -    m11.*m22.*m34.*m45.*m53 - m13.*m25.*m32.*m41.*m54 +       m12.*m25.*m33.*m41.*m54 + m13.*m22.*m35.*m41.*m54 -    m12.*m23.*m35.*m41.*m54 + m13.*m25.*m31.*m42.*m54 - m11.*m25.*m33.*m42.*m54 -    m13.*m21.*m35.*m42.*m54 + m11.*m23.*m35.*m42.*m54 -       m12.*m25.*m31.*m43.*m54 + m11.*m25.*m32.*m43.*m54 +    m12.*m21.*m35.*m43.*m54 - m11.*m22.*m35.*m43.*m54 - m13.*m22.*m31.*m45.*m54 +    m12.*m23.*m31.*m45.*m54 + m13.*m21.*m32.*m45.*m54 -       m11.*m23.*m32.*m45.*m54 - m12.*m21.*m33.*m45.*m54 +    m11.*m22.*m33.*m45.*m54 +    m15.*((-m22).*m34.*m43.*m51 + m22.*m33.*m44.*m51 + m21.*m34.*m43.*m52 -       m21.*m33.*m44.*m52 +            m22.*m34.*m41.*m53 - m21.*m34.*m42.*m53 - m22.*m31.*m44.*m53 +       m21.*m32.*m44.*m53 +       m24.*((-m33).*m42.*m51 + m32.*m43.*m51 + m33.*m41.*m52 - m31.*m43.*m52 -          m32.*m41.*m53 +                 m31.*m42.*m53) - m22.*m33.*m41.*m54 + m21.*m33.*m42.*m54 +       m22.*m31.*m43.*m54 - m21.*m32.*m43.*m54 +                  m23.*(m34.*m42.*m51 - m32.*m44.*m51 - m34.*m41.*m52 + m31.*m44.*m52 +          m32.*m41.*m54 - m31.*m42.*m54)) +       (m13.*(m24.*m32.*m41 - m22.*m34.*m41 - m24.*m31.*m42 + m21.*m34.*m42 +          m22.*m31.*m44 - m21.*m32.*m44) +                  m12.*((-m24).*m33.*m41 + m23.*m34.*m41 + m24.*m31.*m43 - m21.*m34.*m43 -          m23.*m31.*m44 + m21.*m33.*m44) +                  m11.*(m24.*m33.*m42 - m23.*m34.*m42 - m24.*m32.*m43 + m22.*m34.*m43 +          m23.*m32.*m44 - m22.*m33.*m44)).*m55 +       m14.*(m22.*m35.*m43.*m51 - m22.*m33.*m45.*m51 - m21.*m35.*m43.*m52 +       m21.*m33.*m45.*m52 - m22.*m35.*m41.*m53 + m21.*m35.*m42.*m53 +       m22.*m31.*m45.*m53 - m21.*m32.*m45.*m53 +                  m25.*(m33.*m42.*m51 - m32.*m43.*m51 - m33.*m41.*m52 + m31.*m43.*m52 +          m32.*m41.*m53 - m31.*m42.*m53) + (m22.*m33.*m41 - m21.*m33.*m42 -          m22.*m31.*m43 + m21.*m32.*m43).*m55 +                  m23.*((-m35).*m42.*m51 + m32.*m45.*m51 + m35.*m41.*m52 - m31.*m45.*m52 -          m32.*m41.*m55 + m31.*m42.*m55)));
	
	mm35=(m12.*m25.*m34.*m41 - m12.*m24.*m35.*m41 - m11.*m25.*m34.*m42 +    m11.*m24.*m35.*m42 - m12.*m25.*m31.*m44 + m11.*m25.*m32.*m44 +    m12.*m21.*m35.*m44 - m11.*m22.*m35.*m44 +       m15.*(m24.*m32.*m41 - m22.*m34.*m41 - m24.*m31.*m42 + m21.*m34.*m42 +       m22.*m31.*m44 - m21.*m32.*m44) + (m12.*m24.*m31 - m11.*m24.*m32 -       m12.*m21.*m34 + m11.*m22.*m34).*m45 +       m14.*((-m25).*m32.*m41 + m22.*m35.*m41 + m25.*m31.*m42 - m21.*m35.*m42 -       m22.*m31.*m45 + m21.*m32.*m45))./(m13.*m25.*m34.*m42.*m51 -    m13.*m24.*m35.*m42.*m51 - m12.*m25.*m34.*m43.*m51 +       m12.*m24.*m35.*m43.*m51 - m13.*m25.*m32.*m44.*m51 +    m12.*m25.*m33.*m44.*m51 + m13.*m22.*m35.*m44.*m51 - m12.*m23.*m35.*m44.*m51 +    m13.*m24.*m32.*m45.*m51 - m12.*m24.*m33.*m45.*m51 -       m13.*m22.*m34.*m45.*m51 + m12.*m23.*m34.*m45.*m51 -    m13.*m25.*m34.*m41.*m52 + m13.*m24.*m35.*m41.*m52 + m11.*m25.*m34.*m43.*m52 -    m11.*m24.*m35.*m43.*m52 + m13.*m25.*m31.*m44.*m52 -       m11.*m25.*m33.*m44.*m52 - m13.*m21.*m35.*m44.*m52 +    m11.*m23.*m35.*m44.*m52 - m13.*m24.*m31.*m45.*m52 + m11.*m24.*m33.*m45.*m52 +    m13.*m21.*m34.*m45.*m52 - m11.*m23.*m34.*m45.*m52 +       m12.*m25.*m34.*m41.*m53 - m12.*m24.*m35.*m41.*m53 -    m11.*m25.*m34.*m42.*m53 + m11.*m24.*m35.*m42.*m53 - m12.*m25.*m31.*m44.*m53 +    m11.*m25.*m32.*m44.*m53 + m12.*m21.*m35.*m44.*m53 -       m11.*m22.*m35.*m44.*m53 + m12.*m24.*m31.*m45.*m53 -    m11.*m24.*m32.*m45.*m53 - m12.*m21.*m34.*m45.*m53 + m11.*m22.*m34.*m45.*m53 +    m13.*m25.*m32.*m41.*m54 - m12.*m25.*m33.*m41.*m54 -       m13.*m22.*m35.*m41.*m54 + m12.*m23.*m35.*m41.*m54 -    m13.*m25.*m31.*m42.*m54 + m11.*m25.*m33.*m42.*m54 + m13.*m21.*m35.*m42.*m54 -    m11.*m23.*m35.*m42.*m54 + m12.*m25.*m31.*m43.*m54 -       m11.*m25.*m32.*m43.*m54 - m12.*m21.*m35.*m43.*m54 +    m11.*m22.*m35.*m43.*m54 + m13.*m22.*m31.*m45.*m54 - m12.*m23.*m31.*m45.*m54 -    m13.*m21.*m32.*m45.*m54 + m11.*m23.*m32.*m45.*m54 +       m12.*m21.*m33.*m45.*m54 - m11.*m22.*m33.*m45.*m54 +    m15.*(m22.*m34.*m43.*m51 - m22.*m33.*m44.*m51 - m21.*m34.*m43.*m52 +       m21.*m33.*m44.*m52 - m22.*m34.*m41.*m53 + m21.*m34.*m42.*m53 +            m22.*m31.*m44.*m53 - m21.*m32.*m44.*m53 +       m24.*(m33.*m42.*m51 - m32.*m43.*m51 - m33.*m41.*m52 + m31.*m43.*m52 +          m32.*m41.*m53 - m31.*m42.*m53) +            (m22.*m33.*m41 - m21.*m33.*m42 - m22.*m31.*m43 + m21.*m32.*m43).*        m54 + m23.*((-m34).*m42.*m51 + m32.*m44.*m51 + m34.*m41.*m52 -          m31.*m44.*m52 - m32.*m41.*m54 + m31.*m42.*m54)) +       (m13.*((-m24).*m32.*m41 + m22.*m34.*m41 + m24.*m31.*m42 -          m21.*m34.*m42 - m22.*m31.*m44 + m21.*m32.*m44) +                  m12.*(m24.*m33.*m41 - m23.*m34.*m41 - m24.*m31.*m43 + m21.*m34.*m43 +          m23.*m31.*m44 - m21.*m33.*m44) +                  m11.*((-m24).*m33.*m42 + m23.*m34.*m42 + m24.*m32.*m43 - m22.*m34.*m43 -          m23.*m32.*m44 + m22.*m33.*m44)).*m55 +       m14.*((-m22).*m35.*m43.*m51 + m22.*m33.*m45.*m51 + m21.*m35.*m43.*m52 -       m21.*m33.*m45.*m52 + m22.*m35.*m41.*m53 - m21.*m35.*m42.*m53 -       m22.*m31.*m45.*m53 + m21.*m32.*m45.*m53 +                  m25.*((-m33).*m42.*m51 + m32.*m43.*m51 + m33.*m41.*m52 - m31.*m43.*m52 -          m32.*m41.*m53 + m31.*m42.*m53) - m22.*m33.*m41.*m55 +       m21.*m33.*m42.*m55 + m22.*m31.*m43.*m55 -            m21.*m32.*m43.*m55 +       m23.*(m35.*m42.*m51 - m32.*m45.*m51 - m35.*m41.*m52 + m31.*m45.*m52 +          m32.*m41.*m55 - m31.*m42.*m55)));
	
	mm41=(m22.*m35.*m43.*m51 - m22.*m33.*m45.*m51 - m21.*m35.*m43.*m52 +    m21.*m33.*m45.*m52 - m22.*m35.*m41.*m53 + m21.*m35.*m42.*m53 +    m22.*m31.*m45.*m53 - m21.*m32.*m45.*m53 +       m25.*(m33.*m42.*m51 - m32.*m43.*m51 - m33.*m41.*m52 + m31.*m43.*m52 +       m32.*m41.*m53 - m31.*m42.*m53) + (m22.*m33.*m41 - m21.*m33.*m42 -       m22.*m31.*m43 + m21.*m32.*m43).*m55 +       m23.*((-m35).*m42.*m51 + m32.*m45.*m51 + m35.*m41.*m52 - m31.*m45.*m52 -       m32.*m41.*m55 + m31.*m42.*m55))./((-m13).*m25.*m34.*m42.*m51 +    m13.*m24.*m35.*m42.*m51 +       m12.*m25.*m34.*m43.*m51 - m12.*m24.*m35.*m43.*m51 +    m13.*m25.*m32.*m44.*m51 - m12.*m25.*m33.*m44.*m51 - m13.*m22.*m35.*m44.*m51 +    m12.*m23.*m35.*m44.*m51 - m13.*m24.*m32.*m45.*m51 +       m12.*m24.*m33.*m45.*m51 + m13.*m22.*m34.*m45.*m51 -    m12.*m23.*m34.*m45.*m51 + m13.*m25.*m34.*m41.*m52 - m13.*m24.*m35.*m41.*m52 -    m11.*m25.*m34.*m43.*m52 + m11.*m24.*m35.*m43.*m52 -       m13.*m25.*m31.*m44.*m52 + m11.*m25.*m33.*m44.*m52 +    m13.*m21.*m35.*m44.*m52 - m11.*m23.*m35.*m44.*m52 + m13.*m24.*m31.*m45.*m52 -    m11.*m24.*m33.*m45.*m52 - m13.*m21.*m34.*m45.*m52 +       m11.*m23.*m34.*m45.*m52 - m12.*m25.*m34.*m41.*m53 +    m12.*m24.*m35.*m41.*m53 + m11.*m25.*m34.*m42.*m53 - m11.*m24.*m35.*m42.*m53 +    m12.*m25.*m31.*m44.*m53 - m11.*m25.*m32.*m44.*m53 -       m12.*m21.*m35.*m44.*m53 + m11.*m22.*m35.*m44.*m53 -    m12.*m24.*m31.*m45.*m53 + m11.*m24.*m32.*m45.*m53 + m12.*m21.*m34.*m45.*m53 -    m11.*m22.*m34.*m45.*m53 - m13.*m25.*m32.*m41.*m54 +       m12.*m25.*m33.*m41.*m54 + m13.*m22.*m35.*m41.*m54 -    m12.*m23.*m35.*m41.*m54 + m13.*m25.*m31.*m42.*m54 - m11.*m25.*m33.*m42.*m54 -    m13.*m21.*m35.*m42.*m54 + m11.*m23.*m35.*m42.*m54 -       m12.*m25.*m31.*m43.*m54 + m11.*m25.*m32.*m43.*m54 +    m12.*m21.*m35.*m43.*m54 - m11.*m22.*m35.*m43.*m54 - m13.*m22.*m31.*m45.*m54 +    m12.*m23.*m31.*m45.*m54 + m13.*m21.*m32.*m45.*m54 -       m11.*m23.*m32.*m45.*m54 - m12.*m21.*m33.*m45.*m54 +    m11.*m22.*m33.*m45.*m54 +    m15.*((-m22).*m34.*m43.*m51 + m22.*m33.*m44.*m51 + m21.*m34.*m43.*m52 -       m21.*m33.*m44.*m52 +            m22.*m34.*m41.*m53 - m21.*m34.*m42.*m53 - m22.*m31.*m44.*m53 +       m21.*m32.*m44.*m53 +       m24.*((-m33).*m42.*m51 + m32.*m43.*m51 + m33.*m41.*m52 - m31.*m43.*m52 -          m32.*m41.*m53 +                 m31.*m42.*m53) - m22.*m33.*m41.*m54 + m21.*m33.*m42.*m54 +       m22.*m31.*m43.*m54 - m21.*m32.*m43.*m54 +                  m23.*(m34.*m42.*m51 - m32.*m44.*m51 - m34.*m41.*m52 + m31.*m44.*m52 +          m32.*m41.*m54 - m31.*m42.*m54)) +       (m13.*(m24.*m32.*m41 - m22.*m34.*m41 - m24.*m31.*m42 + m21.*m34.*m42 +          m22.*m31.*m44 - m21.*m32.*m44) +                  m12.*((-m24).*m33.*m41 + m23.*m34.*m41 + m24.*m31.*m43 - m21.*m34.*m43 -          m23.*m31.*m44 + m21.*m33.*m44) +                  m11.*(m24.*m33.*m42 - m23.*m34.*m42 - m24.*m32.*m43 + m22.*m34.*m43 +          m23.*m32.*m44 - m22.*m33.*m44)).*m55 +       m14.*(m22.*m35.*m43.*m51 - m22.*m33.*m45.*m51 - m21.*m35.*m43.*m52 +       m21.*m33.*m45.*m52 - m22.*m35.*m41.*m53 + m21.*m35.*m42.*m53 +       m22.*m31.*m45.*m53 - m21.*m32.*m45.*m53 +                  m25.*(m33.*m42.*m51 - m32.*m43.*m51 - m33.*m41.*m52 + m31.*m43.*m52 +          m32.*m41.*m53 - m31.*m42.*m53) + (m22.*m33.*m41 - m21.*m33.*m42 -          m22.*m31.*m43 + m21.*m32.*m43).*m55 +                  m23.*((-m35).*m42.*m51 + m32.*m45.*m51 + m35.*m41.*m52 - m31.*m45.*m52 -          m32.*m41.*m55 + m31.*m42.*m55)));
	
	mm42=(m12.*m35.*m43.*m51 - m12.*m33.*m45.*m51 - m11.*m35.*m43.*m52 +    m11.*m33.*m45.*m52 - m12.*m35.*m41.*m53 + m11.*m35.*m42.*m53 +    m12.*m31.*m45.*m53 - m11.*m32.*m45.*m53 +       m15.*(m33.*m42.*m51 - m32.*m43.*m51 - m33.*m41.*m52 + m31.*m43.*m52 +       m32.*m41.*m53 - m31.*m42.*m53) + (m12.*m33.*m41 - m11.*m33.*m42 -       m12.*m31.*m43 + m11.*m32.*m43).*m55 +       m13.*((-m35).*m42.*m51 + m32.*m45.*m51 + m35.*m41.*m52 - m31.*m45.*m52 -       m32.*m41.*m55 + m31.*m42.*m55))./(m13.*m25.*m34.*m42.*m51 -    m13.*m24.*m35.*m42.*m51 - m12.*m25.*m34.*m43.*m51 +       m12.*m24.*m35.*m43.*m51 - m13.*m25.*m32.*m44.*m51 +    m12.*m25.*m33.*m44.*m51 + m13.*m22.*m35.*m44.*m51 - m12.*m23.*m35.*m44.*m51 +    m13.*m24.*m32.*m45.*m51 - m12.*m24.*m33.*m45.*m51 -       m13.*m22.*m34.*m45.*m51 + m12.*m23.*m34.*m45.*m51 -    m13.*m25.*m34.*m41.*m52 + m13.*m24.*m35.*m41.*m52 + m11.*m25.*m34.*m43.*m52 -    m11.*m24.*m35.*m43.*m52 + m13.*m25.*m31.*m44.*m52 -       m11.*m25.*m33.*m44.*m52 - m13.*m21.*m35.*m44.*m52 +    m11.*m23.*m35.*m44.*m52 - m13.*m24.*m31.*m45.*m52 + m11.*m24.*m33.*m45.*m52 +    m13.*m21.*m34.*m45.*m52 - m11.*m23.*m34.*m45.*m52 +       m12.*m25.*m34.*m41.*m53 - m12.*m24.*m35.*m41.*m53 -    m11.*m25.*m34.*m42.*m53 + m11.*m24.*m35.*m42.*m53 - m12.*m25.*m31.*m44.*m53 +    m11.*m25.*m32.*m44.*m53 + m12.*m21.*m35.*m44.*m53 -       m11.*m22.*m35.*m44.*m53 + m12.*m24.*m31.*m45.*m53 -    m11.*m24.*m32.*m45.*m53 - m12.*m21.*m34.*m45.*m53 + m11.*m22.*m34.*m45.*m53 +    m13.*m25.*m32.*m41.*m54 - m12.*m25.*m33.*m41.*m54 -       m13.*m22.*m35.*m41.*m54 + m12.*m23.*m35.*m41.*m54 -    m13.*m25.*m31.*m42.*m54 + m11.*m25.*m33.*m42.*m54 + m13.*m21.*m35.*m42.*m54 -    m11.*m23.*m35.*m42.*m54 + m12.*m25.*m31.*m43.*m54 -       m11.*m25.*m32.*m43.*m54 - m12.*m21.*m35.*m43.*m54 +    m11.*m22.*m35.*m43.*m54 + m13.*m22.*m31.*m45.*m54 - m12.*m23.*m31.*m45.*m54 -    m13.*m21.*m32.*m45.*m54 + m11.*m23.*m32.*m45.*m54 +       m12.*m21.*m33.*m45.*m54 - m11.*m22.*m33.*m45.*m54 +    m15.*(m22.*m34.*m43.*m51 - m22.*m33.*m44.*m51 - m21.*m34.*m43.*m52 +       m21.*m33.*m44.*m52 - m22.*m34.*m41.*m53 + m21.*m34.*m42.*m53 +            m22.*m31.*m44.*m53 - m21.*m32.*m44.*m53 +       m24.*(m33.*m42.*m51 - m32.*m43.*m51 - m33.*m41.*m52 + m31.*m43.*m52 +          m32.*m41.*m53 - m31.*m42.*m53) +            (m22.*m33.*m41 - m21.*m33.*m42 - m22.*m31.*m43 + m21.*m32.*m43).*        m54 + m23.*((-m34).*m42.*m51 + m32.*m44.*m51 + m34.*m41.*m52 -          m31.*m44.*m52 - m32.*m41.*m54 + m31.*m42.*m54)) +       (m13.*((-m24).*m32.*m41 + m22.*m34.*m41 + m24.*m31.*m42 -          m21.*m34.*m42 - m22.*m31.*m44 + m21.*m32.*m44) +                  m12.*(m24.*m33.*m41 - m23.*m34.*m41 - m24.*m31.*m43 + m21.*m34.*m43 +          m23.*m31.*m44 - m21.*m33.*m44) +                  m11.*((-m24).*m33.*m42 + m23.*m34.*m42 + m24.*m32.*m43 - m22.*m34.*m43 -          m23.*m32.*m44 + m22.*m33.*m44)).*m55 +       m14.*((-m22).*m35.*m43.*m51 + m22.*m33.*m45.*m51 + m21.*m35.*m43.*m52 -       m21.*m33.*m45.*m52 + m22.*m35.*m41.*m53 - m21.*m35.*m42.*m53 -       m22.*m31.*m45.*m53 + m21.*m32.*m45.*m53 +                  m25.*((-m33).*m42.*m51 + m32.*m43.*m51 + m33.*m41.*m52 - m31.*m43.*m52 -          m32.*m41.*m53 + m31.*m42.*m53) - m22.*m33.*m41.*m55 +       m21.*m33.*m42.*m55 + m22.*m31.*m43.*m55 -            m21.*m32.*m43.*m55 +       m23.*(m35.*m42.*m51 - m32.*m45.*m51 - m35.*m41.*m52 + m31.*m45.*m52 +          m32.*m41.*m55 - m31.*m42.*m55)));
	
	mm43=(m12.*m25.*m43.*m51 - m12.*m23.*m45.*m51 - m11.*m25.*m43.*m52 +    m11.*m23.*m45.*m52 - m12.*m25.*m41.*m53 + m11.*m25.*m42.*m53 +    m12.*m21.*m45.*m53 - m11.*m22.*m45.*m53 +       m15.*(m23.*m42.*m51 - m22.*m43.*m51 - m23.*m41.*m52 + m21.*m43.*m52 +       m22.*m41.*m53 - m21.*m42.*m53) + (m12.*m23.*m41 - m11.*m23.*m42 -       m12.*m21.*m43 + m11.*m22.*m43).*m55 +       m13.*((-m25).*m42.*m51 + m22.*m45.*m51 + m25.*m41.*m52 - m21.*m45.*m52 -       m22.*m41.*m55 + m21.*m42.*m55))./((-m13).*m25.*m34.*m42.*m51 +    m13.*m24.*m35.*m42.*m51 +       m12.*m25.*m34.*m43.*m51 - m12.*m24.*m35.*m43.*m51 +    m13.*m25.*m32.*m44.*m51 - m12.*m25.*m33.*m44.*m51 - m13.*m22.*m35.*m44.*m51 +    m12.*m23.*m35.*m44.*m51 - m13.*m24.*m32.*m45.*m51 +       m12.*m24.*m33.*m45.*m51 + m13.*m22.*m34.*m45.*m51 -    m12.*m23.*m34.*m45.*m51 + m13.*m25.*m34.*m41.*m52 - m13.*m24.*m35.*m41.*m52 -    m11.*m25.*m34.*m43.*m52 + m11.*m24.*m35.*m43.*m52 -       m13.*m25.*m31.*m44.*m52 + m11.*m25.*m33.*m44.*m52 +    m13.*m21.*m35.*m44.*m52 - m11.*m23.*m35.*m44.*m52 + m13.*m24.*m31.*m45.*m52 -    m11.*m24.*m33.*m45.*m52 - m13.*m21.*m34.*m45.*m52 +       m11.*m23.*m34.*m45.*m52 - m12.*m25.*m34.*m41.*m53 +    m12.*m24.*m35.*m41.*m53 + m11.*m25.*m34.*m42.*m53 - m11.*m24.*m35.*m42.*m53 +    m12.*m25.*m31.*m44.*m53 - m11.*m25.*m32.*m44.*m53 -       m12.*m21.*m35.*m44.*m53 + m11.*m22.*m35.*m44.*m53 -    m12.*m24.*m31.*m45.*m53 + m11.*m24.*m32.*m45.*m53 + m12.*m21.*m34.*m45.*m53 -    m11.*m22.*m34.*m45.*m53 - m13.*m25.*m32.*m41.*m54 +       m12.*m25.*m33.*m41.*m54 + m13.*m22.*m35.*m41.*m54 -    m12.*m23.*m35.*m41.*m54 + m13.*m25.*m31.*m42.*m54 - m11.*m25.*m33.*m42.*m54 -    m13.*m21.*m35.*m42.*m54 + m11.*m23.*m35.*m42.*m54 -       m12.*m25.*m31.*m43.*m54 + m11.*m25.*m32.*m43.*m54 +    m12.*m21.*m35.*m43.*m54 - m11.*m22.*m35.*m43.*m54 - m13.*m22.*m31.*m45.*m54 +    m12.*m23.*m31.*m45.*m54 + m13.*m21.*m32.*m45.*m54 -       m11.*m23.*m32.*m45.*m54 - m12.*m21.*m33.*m45.*m54 +    m11.*m22.*m33.*m45.*m54 +    m15.*((-m22).*m34.*m43.*m51 + m22.*m33.*m44.*m51 + m21.*m34.*m43.*m52 -       m21.*m33.*m44.*m52 +            m22.*m34.*m41.*m53 - m21.*m34.*m42.*m53 - m22.*m31.*m44.*m53 +       m21.*m32.*m44.*m53 +       m24.*((-m33).*m42.*m51 + m32.*m43.*m51 + m33.*m41.*m52 - m31.*m43.*m52 -          m32.*m41.*m53 +                 m31.*m42.*m53) - m22.*m33.*m41.*m54 + m21.*m33.*m42.*m54 +       m22.*m31.*m43.*m54 - m21.*m32.*m43.*m54 +                  m23.*(m34.*m42.*m51 - m32.*m44.*m51 - m34.*m41.*m52 + m31.*m44.*m52 +          m32.*m41.*m54 - m31.*m42.*m54)) +       (m13.*(m24.*m32.*m41 - m22.*m34.*m41 - m24.*m31.*m42 + m21.*m34.*m42 +          m22.*m31.*m44 - m21.*m32.*m44) +                  m12.*((-m24).*m33.*m41 + m23.*m34.*m41 + m24.*m31.*m43 - m21.*m34.*m43 -          m23.*m31.*m44 + m21.*m33.*m44) +                  m11.*(m24.*m33.*m42 - m23.*m34.*m42 - m24.*m32.*m43 + m22.*m34.*m43 +          m23.*m32.*m44 - m22.*m33.*m44)).*m55 +       m14.*(m22.*m35.*m43.*m51 - m22.*m33.*m45.*m51 - m21.*m35.*m43.*m52 +       m21.*m33.*m45.*m52 - m22.*m35.*m41.*m53 + m21.*m35.*m42.*m53 +       m22.*m31.*m45.*m53 - m21.*m32.*m45.*m53 +                  m25.*(m33.*m42.*m51 - m32.*m43.*m51 - m33.*m41.*m52 + m31.*m43.*m52 +          m32.*m41.*m53 - m31.*m42.*m53) + (m22.*m33.*m41 - m21.*m33.*m42 -          m22.*m31.*m43 + m21.*m32.*m43).*m55 +                  m23.*((-m35).*m42.*m51 + m32.*m45.*m51 + m35.*m41.*m52 - m31.*m45.*m52 -          m32.*m41.*m55 + m31.*m42.*m55)));
	
	mm44=(m12.*m25.*m33.*m51 - m12.*m23.*m35.*m51 - m11.*m25.*m33.*m52 +    m11.*m23.*m35.*m52 - m12.*m25.*m31.*m53 + m11.*m25.*m32.*m53 +    m12.*m21.*m35.*m53 - m11.*m22.*m35.*m53 +       m15.*(m23.*m32.*m51 - m22.*m33.*m51 - m23.*m31.*m52 + m21.*m33.*m52 +       m22.*m31.*m53 - m21.*m32.*m53) + (m12.*m23.*m31 - m11.*m23.*m32 -       m12.*m21.*m33 + m11.*m22.*m33).*m55 +       m13.*((-m25).*m32.*m51 + m22.*m35.*m51 + m25.*m31.*m52 - m21.*m35.*m52 -       m22.*m31.*m55 + m21.*m32.*m55))./(m13.*m25.*m34.*m42.*m51 -    m13.*m24.*m35.*m42.*m51 - m12.*m25.*m34.*m43.*m51 +       m12.*m24.*m35.*m43.*m51 - m13.*m25.*m32.*m44.*m51 +    m12.*m25.*m33.*m44.*m51 + m13.*m22.*m35.*m44.*m51 - m12.*m23.*m35.*m44.*m51 +    m13.*m24.*m32.*m45.*m51 - m12.*m24.*m33.*m45.*m51 -       m13.*m22.*m34.*m45.*m51 + m12.*m23.*m34.*m45.*m51 -    m13.*m25.*m34.*m41.*m52 + m13.*m24.*m35.*m41.*m52 + m11.*m25.*m34.*m43.*m52 -    m11.*m24.*m35.*m43.*m52 + m13.*m25.*m31.*m44.*m52 -       m11.*m25.*m33.*m44.*m52 - m13.*m21.*m35.*m44.*m52 +    m11.*m23.*m35.*m44.*m52 - m13.*m24.*m31.*m45.*m52 + m11.*m24.*m33.*m45.*m52 +    m13.*m21.*m34.*m45.*m52 - m11.*m23.*m34.*m45.*m52 +       m12.*m25.*m34.*m41.*m53 - m12.*m24.*m35.*m41.*m53 -    m11.*m25.*m34.*m42.*m53 + m11.*m24.*m35.*m42.*m53 - m12.*m25.*m31.*m44.*m53 +    m11.*m25.*m32.*m44.*m53 + m12.*m21.*m35.*m44.*m53 -       m11.*m22.*m35.*m44.*m53 + m12.*m24.*m31.*m45.*m53 -    m11.*m24.*m32.*m45.*m53 - m12.*m21.*m34.*m45.*m53 + m11.*m22.*m34.*m45.*m53 +    m13.*m25.*m32.*m41.*m54 - m12.*m25.*m33.*m41.*m54 -       m13.*m22.*m35.*m41.*m54 + m12.*m23.*m35.*m41.*m54 -    m13.*m25.*m31.*m42.*m54 + m11.*m25.*m33.*m42.*m54 + m13.*m21.*m35.*m42.*m54 -    m11.*m23.*m35.*m42.*m54 + m12.*m25.*m31.*m43.*m54 -       m11.*m25.*m32.*m43.*m54 - m12.*m21.*m35.*m43.*m54 +    m11.*m22.*m35.*m43.*m54 + m13.*m22.*m31.*m45.*m54 - m12.*m23.*m31.*m45.*m54 -    m13.*m21.*m32.*m45.*m54 + m11.*m23.*m32.*m45.*m54 +       m12.*m21.*m33.*m45.*m54 - m11.*m22.*m33.*m45.*m54 +    m15.*(m22.*m34.*m43.*m51 - m22.*m33.*m44.*m51 - m21.*m34.*m43.*m52 +       m21.*m33.*m44.*m52 - m22.*m34.*m41.*m53 + m21.*m34.*m42.*m53 +            m22.*m31.*m44.*m53 - m21.*m32.*m44.*m53 +       m24.*(m33.*m42.*m51 - m32.*m43.*m51 - m33.*m41.*m52 + m31.*m43.*m52 +          m32.*m41.*m53 - m31.*m42.*m53) +            (m22.*m33.*m41 - m21.*m33.*m42 - m22.*m31.*m43 + m21.*m32.*m43).*        m54 + m23.*((-m34).*m42.*m51 + m32.*m44.*m51 + m34.*m41.*m52 -          m31.*m44.*m52 - m32.*m41.*m54 + m31.*m42.*m54)) +       (m13.*((-m24).*m32.*m41 + m22.*m34.*m41 + m24.*m31.*m42 -          m21.*m34.*m42 - m22.*m31.*m44 + m21.*m32.*m44) +                  m12.*(m24.*m33.*m41 - m23.*m34.*m41 - m24.*m31.*m43 + m21.*m34.*m43 +          m23.*m31.*m44 - m21.*m33.*m44) +                  m11.*((-m24).*m33.*m42 + m23.*m34.*m42 + m24.*m32.*m43 - m22.*m34.*m43 -          m23.*m32.*m44 + m22.*m33.*m44)).*m55 +       m14.*((-m22).*m35.*m43.*m51 + m22.*m33.*m45.*m51 + m21.*m35.*m43.*m52 -       m21.*m33.*m45.*m52 + m22.*m35.*m41.*m53 - m21.*m35.*m42.*m53 -       m22.*m31.*m45.*m53 + m21.*m32.*m45.*m53 +                  m25.*((-m33).*m42.*m51 + m32.*m43.*m51 + m33.*m41.*m52 - m31.*m43.*m52 -          m32.*m41.*m53 + m31.*m42.*m53) - m22.*m33.*m41.*m55 +       m21.*m33.*m42.*m55 + m22.*m31.*m43.*m55 -            m21.*m32.*m43.*m55 +       m23.*(m35.*m42.*m51 - m32.*m45.*m51 - m35.*m41.*m52 + m31.*m45.*m52 +          m32.*m41.*m55 - m31.*m42.*m55)));
	
	mm45=(m12.*m25.*m33.*m41 - m12.*m23.*m35.*m41 - m11.*m25.*m33.*m42 +    m11.*m23.*m35.*m42 - m12.*m25.*m31.*m43 + m11.*m25.*m32.*m43 +    m12.*m21.*m35.*m43 - m11.*m22.*m35.*m43 +       m15.*(m23.*m32.*m41 - m22.*m33.*m41 - m23.*m31.*m42 + m21.*m33.*m42 +       m22.*m31.*m43 - m21.*m32.*m43) + (m12.*m23.*m31 - m11.*m23.*m32 -       m12.*m21.*m33 + m11.*m22.*m33).*m45 +       m13.*((-m25).*m32.*m41 + m22.*m35.*m41 + m25.*m31.*m42 - m21.*m35.*m42 -       m22.*m31.*m45 + m21.*m32.*m45))./((-m13).*m25.*m34.*m42.*m51 +    m13.*m24.*m35.*m42.*m51 +       m12.*m25.*m34.*m43.*m51 - m12.*m24.*m35.*m43.*m51 +    m13.*m25.*m32.*m44.*m51 - m12.*m25.*m33.*m44.*m51 - m13.*m22.*m35.*m44.*m51 +    m12.*m23.*m35.*m44.*m51 - m13.*m24.*m32.*m45.*m51 +       m12.*m24.*m33.*m45.*m51 + m13.*m22.*m34.*m45.*m51 -    m12.*m23.*m34.*m45.*m51 + m13.*m25.*m34.*m41.*m52 - m13.*m24.*m35.*m41.*m52 -    m11.*m25.*m34.*m43.*m52 + m11.*m24.*m35.*m43.*m52 -       m13.*m25.*m31.*m44.*m52 + m11.*m25.*m33.*m44.*m52 +    m13.*m21.*m35.*m44.*m52 - m11.*m23.*m35.*m44.*m52 + m13.*m24.*m31.*m45.*m52 -    m11.*m24.*m33.*m45.*m52 - m13.*m21.*m34.*m45.*m52 +       m11.*m23.*m34.*m45.*m52 - m12.*m25.*m34.*m41.*m53 +    m12.*m24.*m35.*m41.*m53 + m11.*m25.*m34.*m42.*m53 - m11.*m24.*m35.*m42.*m53 +    m12.*m25.*m31.*m44.*m53 - m11.*m25.*m32.*m44.*m53 -       m12.*m21.*m35.*m44.*m53 + m11.*m22.*m35.*m44.*m53 -    m12.*m24.*m31.*m45.*m53 + m11.*m24.*m32.*m45.*m53 + m12.*m21.*m34.*m45.*m53 -    m11.*m22.*m34.*m45.*m53 - m13.*m25.*m32.*m41.*m54 +       m12.*m25.*m33.*m41.*m54 + m13.*m22.*m35.*m41.*m54 -    m12.*m23.*m35.*m41.*m54 + m13.*m25.*m31.*m42.*m54 - m11.*m25.*m33.*m42.*m54 -    m13.*m21.*m35.*m42.*m54 + m11.*m23.*m35.*m42.*m54 -       m12.*m25.*m31.*m43.*m54 + m11.*m25.*m32.*m43.*m54 +    m12.*m21.*m35.*m43.*m54 - m11.*m22.*m35.*m43.*m54 - m13.*m22.*m31.*m45.*m54 +    m12.*m23.*m31.*m45.*m54 + m13.*m21.*m32.*m45.*m54 -       m11.*m23.*m32.*m45.*m54 - m12.*m21.*m33.*m45.*m54 +    m11.*m22.*m33.*m45.*m54 +    m15.*((-m22).*m34.*m43.*m51 + m22.*m33.*m44.*m51 + m21.*m34.*m43.*m52 -       m21.*m33.*m44.*m52 +            m22.*m34.*m41.*m53 - m21.*m34.*m42.*m53 - m22.*m31.*m44.*m53 +       m21.*m32.*m44.*m53 +       m24.*((-m33).*m42.*m51 + m32.*m43.*m51 + m33.*m41.*m52 - m31.*m43.*m52 -          m32.*m41.*m53 +                 m31.*m42.*m53) - m22.*m33.*m41.*m54 + m21.*m33.*m42.*m54 +       m22.*m31.*m43.*m54 - m21.*m32.*m43.*m54 +                  m23.*(m34.*m42.*m51 - m32.*m44.*m51 - m34.*m41.*m52 + m31.*m44.*m52 +          m32.*m41.*m54 - m31.*m42.*m54)) +       (m13.*(m24.*m32.*m41 - m22.*m34.*m41 - m24.*m31.*m42 + m21.*m34.*m42 +          m22.*m31.*m44 - m21.*m32.*m44) +                  m12.*((-m24).*m33.*m41 + m23.*m34.*m41 + m24.*m31.*m43 - m21.*m34.*m43 -          m23.*m31.*m44 + m21.*m33.*m44) +                  m11.*(m24.*m33.*m42 - m23.*m34.*m42 - m24.*m32.*m43 + m22.*m34.*m43 +          m23.*m32.*m44 - m22.*m33.*m44)).*m55 +       m14.*(m22.*m35.*m43.*m51 - m22.*m33.*m45.*m51 - m21.*m35.*m43.*m52 +       m21.*m33.*m45.*m52 - m22.*m35.*m41.*m53 + m21.*m35.*m42.*m53 +       m22.*m31.*m45.*m53 - m21.*m32.*m45.*m53 +                  m25.*(m33.*m42.*m51 - m32.*m43.*m51 - m33.*m41.*m52 + m31.*m43.*m52 +          m32.*m41.*m53 - m31.*m42.*m53) + (m22.*m33.*m41 - m21.*m33.*m42 -          m22.*m31.*m43 + m21.*m32.*m43).*m55 +                  m23.*((-m35).*m42.*m51 + m32.*m45.*m51 + m35.*m41.*m52 - m31.*m45.*m52 -          m32.*m41.*m55 + m31.*m42.*m55)));
	
	mm51=(m22.*m34.*m43.*m51 - m22.*m33.*m44.*m51 - m21.*m34.*m43.*m52 +    m21.*m33.*m44.*m52 - m22.*m34.*m41.*m53 + m21.*m34.*m42.*m53 +    m22.*m31.*m44.*m53 - m21.*m32.*m44.*m53 +       m24.*(m33.*m42.*m51 - m32.*m43.*m51 - m33.*m41.*m52 + m31.*m43.*m52 +       m32.*m41.*m53 - m31.*m42.*m53) + (m22.*m33.*m41 - m21.*m33.*m42 -       m22.*m31.*m43 + m21.*m32.*m43).*m54 +       m23.*((-m34).*m42.*m51 + m32.*m44.*m51 + m34.*m41.*m52 - m31.*m44.*m52 -       m32.*m41.*m54 + m31.*m42.*m54))./(m13.*m25.*m34.*m42.*m51 -    m13.*m24.*m35.*m42.*m51 - m12.*m25.*m34.*m43.*m51 +       m12.*m24.*m35.*m43.*m51 - m13.*m25.*m32.*m44.*m51 +    m12.*m25.*m33.*m44.*m51 + m13.*m22.*m35.*m44.*m51 - m12.*m23.*m35.*m44.*m51 +    m13.*m24.*m32.*m45.*m51 - m12.*m24.*m33.*m45.*m51 -       m13.*m22.*m34.*m45.*m51 + m12.*m23.*m34.*m45.*m51 -    m13.*m25.*m34.*m41.*m52 + m13.*m24.*m35.*m41.*m52 + m11.*m25.*m34.*m43.*m52 -    m11.*m24.*m35.*m43.*m52 + m13.*m25.*m31.*m44.*m52 -       m11.*m25.*m33.*m44.*m52 - m13.*m21.*m35.*m44.*m52 +    m11.*m23.*m35.*m44.*m52 - m13.*m24.*m31.*m45.*m52 + m11.*m24.*m33.*m45.*m52 +    m13.*m21.*m34.*m45.*m52 - m11.*m23.*m34.*m45.*m52 +       m12.*m25.*m34.*m41.*m53 - m12.*m24.*m35.*m41.*m53 -    m11.*m25.*m34.*m42.*m53 + m11.*m24.*m35.*m42.*m53 - m12.*m25.*m31.*m44.*m53 +    m11.*m25.*m32.*m44.*m53 + m12.*m21.*m35.*m44.*m53 -       m11.*m22.*m35.*m44.*m53 + m12.*m24.*m31.*m45.*m53 -    m11.*m24.*m32.*m45.*m53 - m12.*m21.*m34.*m45.*m53 + m11.*m22.*m34.*m45.*m53 +    m13.*m25.*m32.*m41.*m54 - m12.*m25.*m33.*m41.*m54 -       m13.*m22.*m35.*m41.*m54 + m12.*m23.*m35.*m41.*m54 -    m13.*m25.*m31.*m42.*m54 + m11.*m25.*m33.*m42.*m54 + m13.*m21.*m35.*m42.*m54 -    m11.*m23.*m35.*m42.*m54 + m12.*m25.*m31.*m43.*m54 -       m11.*m25.*m32.*m43.*m54 - m12.*m21.*m35.*m43.*m54 +    m11.*m22.*m35.*m43.*m54 + m13.*m22.*m31.*m45.*m54 - m12.*m23.*m31.*m45.*m54 -    m13.*m21.*m32.*m45.*m54 + m11.*m23.*m32.*m45.*m54 +       m12.*m21.*m33.*m45.*m54 - m11.*m22.*m33.*m45.*m54 +    m15.*(m22.*m34.*m43.*m51 - m22.*m33.*m44.*m51 - m21.*m34.*m43.*m52 +       m21.*m33.*m44.*m52 - m22.*m34.*m41.*m53 + m21.*m34.*m42.*m53 +            m22.*m31.*m44.*m53 - m21.*m32.*m44.*m53 +       m24.*(m33.*m42.*m51 - m32.*m43.*m51 - m33.*m41.*m52 + m31.*m43.*m52 +          m32.*m41.*m53 - m31.*m42.*m53) +            (m22.*m33.*m41 - m21.*m33.*m42 - m22.*m31.*m43 + m21.*m32.*m43).*        m54 + m23.*((-m34).*m42.*m51 + m32.*m44.*m51 + m34.*m41.*m52 -          m31.*m44.*m52 - m32.*m41.*m54 + m31.*m42.*m54)) +       (m13.*((-m24).*m32.*m41 + m22.*m34.*m41 + m24.*m31.*m42 -          m21.*m34.*m42 - m22.*m31.*m44 + m21.*m32.*m44) +                  m12.*(m24.*m33.*m41 - m23.*m34.*m41 - m24.*m31.*m43 + m21.*m34.*m43 +          m23.*m31.*m44 - m21.*m33.*m44) +                  m11.*((-m24).*m33.*m42 + m23.*m34.*m42 + m24.*m32.*m43 - m22.*m34.*m43 -          m23.*m32.*m44 + m22.*m33.*m44)).*m55 +       m14.*((-m22).*m35.*m43.*m51 + m22.*m33.*m45.*m51 + m21.*m35.*m43.*m52 -       m21.*m33.*m45.*m52 + m22.*m35.*m41.*m53 - m21.*m35.*m42.*m53 -       m22.*m31.*m45.*m53 + m21.*m32.*m45.*m53 +                  m25.*((-m33).*m42.*m51 + m32.*m43.*m51 + m33.*m41.*m52 - m31.*m43.*m52 -          m32.*m41.*m53 + m31.*m42.*m53) - m22.*m33.*m41.*m55 +       m21.*m33.*m42.*m55 + m22.*m31.*m43.*m55 -            m21.*m32.*m43.*m55 +       m23.*(m35.*m42.*m51 - m32.*m45.*m51 - m35.*m41.*m52 + m31.*m45.*m52 +          m32.*m41.*m55 - m31.*m42.*m55)));
	
	mm52=(m12.*m34.*m43.*m51 - m12.*m33.*m44.*m51 - m11.*m34.*m43.*m52 +    m11.*m33.*m44.*m52 - m12.*m34.*m41.*m53 + m11.*m34.*m42.*m53 +    m12.*m31.*m44.*m53 - m11.*m32.*m44.*m53 +       m14.*(m33.*m42.*m51 - m32.*m43.*m51 - m33.*m41.*m52 + m31.*m43.*m52 +       m32.*m41.*m53 - m31.*m42.*m53) + (m12.*m33.*m41 - m11.*m33.*m42 -       m12.*m31.*m43 + m11.*m32.*m43).*m54 +       m13.*((-m34).*m42.*m51 + m32.*m44.*m51 + m34.*m41.*m52 - m31.*m44.*m52 -       m32.*m41.*m54 + m31.*m42.*m54))./((-m13).*m25.*m34.*m42.*m51 +    m13.*m24.*m35.*m42.*m51 +       m12.*m25.*m34.*m43.*m51 - m12.*m24.*m35.*m43.*m51 +    m13.*m25.*m32.*m44.*m51 - m12.*m25.*m33.*m44.*m51 - m13.*m22.*m35.*m44.*m51 +    m12.*m23.*m35.*m44.*m51 - m13.*m24.*m32.*m45.*m51 +       m12.*m24.*m33.*m45.*m51 + m13.*m22.*m34.*m45.*m51 -    m12.*m23.*m34.*m45.*m51 + m13.*m25.*m34.*m41.*m52 - m13.*m24.*m35.*m41.*m52 -    m11.*m25.*m34.*m43.*m52 + m11.*m24.*m35.*m43.*m52 -       m13.*m25.*m31.*m44.*m52 + m11.*m25.*m33.*m44.*m52 +    m13.*m21.*m35.*m44.*m52 - m11.*m23.*m35.*m44.*m52 + m13.*m24.*m31.*m45.*m52 -    m11.*m24.*m33.*m45.*m52 - m13.*m21.*m34.*m45.*m52 +       m11.*m23.*m34.*m45.*m52 - m12.*m25.*m34.*m41.*m53 +    m12.*m24.*m35.*m41.*m53 + m11.*m25.*m34.*m42.*m53 - m11.*m24.*m35.*m42.*m53 +    m12.*m25.*m31.*m44.*m53 - m11.*m25.*m32.*m44.*m53 -       m12.*m21.*m35.*m44.*m53 + m11.*m22.*m35.*m44.*m53 -    m12.*m24.*m31.*m45.*m53 + m11.*m24.*m32.*m45.*m53 + m12.*m21.*m34.*m45.*m53 -    m11.*m22.*m34.*m45.*m53 - m13.*m25.*m32.*m41.*m54 +       m12.*m25.*m33.*m41.*m54 + m13.*m22.*m35.*m41.*m54 -    m12.*m23.*m35.*m41.*m54 + m13.*m25.*m31.*m42.*m54 - m11.*m25.*m33.*m42.*m54 -    m13.*m21.*m35.*m42.*m54 + m11.*m23.*m35.*m42.*m54 -       m12.*m25.*m31.*m43.*m54 + m11.*m25.*m32.*m43.*m54 +    m12.*m21.*m35.*m43.*m54 - m11.*m22.*m35.*m43.*m54 - m13.*m22.*m31.*m45.*m54 +    m12.*m23.*m31.*m45.*m54 + m13.*m21.*m32.*m45.*m54 -       m11.*m23.*m32.*m45.*m54 - m12.*m21.*m33.*m45.*m54 +    m11.*m22.*m33.*m45.*m54 +    m15.*((-m22).*m34.*m43.*m51 + m22.*m33.*m44.*m51 + m21.*m34.*m43.*m52 -       m21.*m33.*m44.*m52 +            m22.*m34.*m41.*m53 - m21.*m34.*m42.*m53 - m22.*m31.*m44.*m53 +       m21.*m32.*m44.*m53 +       m24.*((-m33).*m42.*m51 + m32.*m43.*m51 + m33.*m41.*m52 - m31.*m43.*m52 -          m32.*m41.*m53 +                 m31.*m42.*m53) - m22.*m33.*m41.*m54 + m21.*m33.*m42.*m54 +       m22.*m31.*m43.*m54 - m21.*m32.*m43.*m54 +                  m23.*(m34.*m42.*m51 - m32.*m44.*m51 - m34.*m41.*m52 + m31.*m44.*m52 +          m32.*m41.*m54 - m31.*m42.*m54)) +       (m13.*(m24.*m32.*m41 - m22.*m34.*m41 - m24.*m31.*m42 + m21.*m34.*m42 +          m22.*m31.*m44 - m21.*m32.*m44) +                  m12.*((-m24).*m33.*m41 + m23.*m34.*m41 + m24.*m31.*m43 - m21.*m34.*m43 -          m23.*m31.*m44 + m21.*m33.*m44) +                  m11.*(m24.*m33.*m42 - m23.*m34.*m42 - m24.*m32.*m43 + m22.*m34.*m43 +          m23.*m32.*m44 - m22.*m33.*m44)).*m55 +       m14.*(m22.*m35.*m43.*m51 - m22.*m33.*m45.*m51 - m21.*m35.*m43.*m52 +       m21.*m33.*m45.*m52 - m22.*m35.*m41.*m53 + m21.*m35.*m42.*m53 +       m22.*m31.*m45.*m53 - m21.*m32.*m45.*m53 +                  m25.*(m33.*m42.*m51 - m32.*m43.*m51 - m33.*m41.*m52 + m31.*m43.*m52 +          m32.*m41.*m53 - m31.*m42.*m53) + (m22.*m33.*m41 - m21.*m33.*m42 -          m22.*m31.*m43 + m21.*m32.*m43).*m55 +                  m23.*((-m35).*m42.*m51 + m32.*m45.*m51 + m35.*m41.*m52 - m31.*m45.*m52 -          m32.*m41.*m55 + m31.*m42.*m55)));
	
	mm53=(m12.*m24.*m43.*m51 - m12.*m23.*m44.*m51 - m11.*m24.*m43.*m52 +    m11.*m23.*m44.*m52 - m12.*m24.*m41.*m53 + m11.*m24.*m42.*m53 +    m12.*m21.*m44.*m53 - m11.*m22.*m44.*m53 +       m14.*(m23.*m42.*m51 - m22.*m43.*m51 - m23.*m41.*m52 + m21.*m43.*m52 +       m22.*m41.*m53 - m21.*m42.*m53) + (m12.*m23.*m41 - m11.*m23.*m42 -       m12.*m21.*m43 + m11.*m22.*m43).*m54 +       m13.*((-m24).*m42.*m51 + m22.*m44.*m51 + m24.*m41.*m52 - m21.*m44.*m52 -       m22.*m41.*m54 + m21.*m42.*m54))./(m13.*m25.*m34.*m42.*m51 -    m13.*m24.*m35.*m42.*m51 - m12.*m25.*m34.*m43.*m51 +       m12.*m24.*m35.*m43.*m51 - m13.*m25.*m32.*m44.*m51 +    m12.*m25.*m33.*m44.*m51 + m13.*m22.*m35.*m44.*m51 - m12.*m23.*m35.*m44.*m51 +    m13.*m24.*m32.*m45.*m51 - m12.*m24.*m33.*m45.*m51 -       m13.*m22.*m34.*m45.*m51 + m12.*m23.*m34.*m45.*m51 -    m13.*m25.*m34.*m41.*m52 + m13.*m24.*m35.*m41.*m52 + m11.*m25.*m34.*m43.*m52 -    m11.*m24.*m35.*m43.*m52 + m13.*m25.*m31.*m44.*m52 -       m11.*m25.*m33.*m44.*m52 - m13.*m21.*m35.*m44.*m52 +    m11.*m23.*m35.*m44.*m52 - m13.*m24.*m31.*m45.*m52 + m11.*m24.*m33.*m45.*m52 +    m13.*m21.*m34.*m45.*m52 - m11.*m23.*m34.*m45.*m52 +       m12.*m25.*m34.*m41.*m53 - m12.*m24.*m35.*m41.*m53 -    m11.*m25.*m34.*m42.*m53 + m11.*m24.*m35.*m42.*m53 - m12.*m25.*m31.*m44.*m53 +    m11.*m25.*m32.*m44.*m53 + m12.*m21.*m35.*m44.*m53 -       m11.*m22.*m35.*m44.*m53 + m12.*m24.*m31.*m45.*m53 -    m11.*m24.*m32.*m45.*m53 - m12.*m21.*m34.*m45.*m53 + m11.*m22.*m34.*m45.*m53 +    m13.*m25.*m32.*m41.*m54 - m12.*m25.*m33.*m41.*m54 -       m13.*m22.*m35.*m41.*m54 + m12.*m23.*m35.*m41.*m54 -    m13.*m25.*m31.*m42.*m54 + m11.*m25.*m33.*m42.*m54 + m13.*m21.*m35.*m42.*m54 -    m11.*m23.*m35.*m42.*m54 + m12.*m25.*m31.*m43.*m54 -       m11.*m25.*m32.*m43.*m54 - m12.*m21.*m35.*m43.*m54 +    m11.*m22.*m35.*m43.*m54 + m13.*m22.*m31.*m45.*m54 - m12.*m23.*m31.*m45.*m54 -    m13.*m21.*m32.*m45.*m54 + m11.*m23.*m32.*m45.*m54 +       m12.*m21.*m33.*m45.*m54 - m11.*m22.*m33.*m45.*m54 +    m15.*(m22.*m34.*m43.*m51 - m22.*m33.*m44.*m51 - m21.*m34.*m43.*m52 +       m21.*m33.*m44.*m52 - m22.*m34.*m41.*m53 + m21.*m34.*m42.*m53 +            m22.*m31.*m44.*m53 - m21.*m32.*m44.*m53 +       m24.*(m33.*m42.*m51 - m32.*m43.*m51 - m33.*m41.*m52 + m31.*m43.*m52 +          m32.*m41.*m53 - m31.*m42.*m53) +            (m22.*m33.*m41 - m21.*m33.*m42 - m22.*m31.*m43 + m21.*m32.*m43).*        m54 + m23.*((-m34).*m42.*m51 + m32.*m44.*m51 + m34.*m41.*m52 -          m31.*m44.*m52 - m32.*m41.*m54 + m31.*m42.*m54)) +       (m13.*((-m24).*m32.*m41 + m22.*m34.*m41 + m24.*m31.*m42 -          m21.*m34.*m42 - m22.*m31.*m44 + m21.*m32.*m44) +                  m12.*(m24.*m33.*m41 - m23.*m34.*m41 - m24.*m31.*m43 + m21.*m34.*m43 +          m23.*m31.*m44 - m21.*m33.*m44) +                  m11.*((-m24).*m33.*m42 + m23.*m34.*m42 + m24.*m32.*m43 - m22.*m34.*m43 -          m23.*m32.*m44 + m22.*m33.*m44)).*m55 +       m14.*((-m22).*m35.*m43.*m51 + m22.*m33.*m45.*m51 + m21.*m35.*m43.*m52 -       m21.*m33.*m45.*m52 + m22.*m35.*m41.*m53 - m21.*m35.*m42.*m53 -       m22.*m31.*m45.*m53 + m21.*m32.*m45.*m53 +                  m25.*((-m33).*m42.*m51 + m32.*m43.*m51 + m33.*m41.*m52 - m31.*m43.*m52 -          m32.*m41.*m53 + m31.*m42.*m53) - m22.*m33.*m41.*m55 +       m21.*m33.*m42.*m55 + m22.*m31.*m43.*m55 -            m21.*m32.*m43.*m55 +       m23.*(m35.*m42.*m51 - m32.*m45.*m51 - m35.*m41.*m52 + m31.*m45.*m52 +          m32.*m41.*m55 - m31.*m42.*m55)));
	
	mm54=(m12.*m24.*m33.*m51 - m12.*m23.*m34.*m51 - m11.*m24.*m33.*m52 +    m11.*m23.*m34.*m52 - m12.*m24.*m31.*m53 + m11.*m24.*m32.*m53 +    m12.*m21.*m34.*m53 - m11.*m22.*m34.*m53 +       m14.*(m23.*m32.*m51 - m22.*m33.*m51 - m23.*m31.*m52 + m21.*m33.*m52 +       m22.*m31.*m53 - m21.*m32.*m53) + (m12.*m23.*m31 - m11.*m23.*m32 -       m12.*m21.*m33 + m11.*m22.*m33).*m54 +       m13.*((-m24).*m32.*m51 + m22.*m34.*m51 + m24.*m31.*m52 - m21.*m34.*m52 -       m22.*m31.*m54 + m21.*m32.*m54))./((-m13).*m25.*m34.*m42.*m51 +    m13.*m24.*m35.*m42.*m51 +       m12.*m25.*m34.*m43.*m51 - m12.*m24.*m35.*m43.*m51 +    m13.*m25.*m32.*m44.*m51 - m12.*m25.*m33.*m44.*m51 - m13.*m22.*m35.*m44.*m51 +    m12.*m23.*m35.*m44.*m51 - m13.*m24.*m32.*m45.*m51 +       m12.*m24.*m33.*m45.*m51 + m13.*m22.*m34.*m45.*m51 -    m12.*m23.*m34.*m45.*m51 + m13.*m25.*m34.*m41.*m52 - m13.*m24.*m35.*m41.*m52 -    m11.*m25.*m34.*m43.*m52 + m11.*m24.*m35.*m43.*m52 -       m13.*m25.*m31.*m44.*m52 + m11.*m25.*m33.*m44.*m52 +    m13.*m21.*m35.*m44.*m52 - m11.*m23.*m35.*m44.*m52 + m13.*m24.*m31.*m45.*m52 -    m11.*m24.*m33.*m45.*m52 - m13.*m21.*m34.*m45.*m52 +       m11.*m23.*m34.*m45.*m52 - m12.*m25.*m34.*m41.*m53 +    m12.*m24.*m35.*m41.*m53 + m11.*m25.*m34.*m42.*m53 - m11.*m24.*m35.*m42.*m53 +    m12.*m25.*m31.*m44.*m53 - m11.*m25.*m32.*m44.*m53 -       m12.*m21.*m35.*m44.*m53 + m11.*m22.*m35.*m44.*m53 -    m12.*m24.*m31.*m45.*m53 + m11.*m24.*m32.*m45.*m53 + m12.*m21.*m34.*m45.*m53 -    m11.*m22.*m34.*m45.*m53 - m13.*m25.*m32.*m41.*m54 +       m12.*m25.*m33.*m41.*m54 + m13.*m22.*m35.*m41.*m54 -    m12.*m23.*m35.*m41.*m54 + m13.*m25.*m31.*m42.*m54 - m11.*m25.*m33.*m42.*m54 -    m13.*m21.*m35.*m42.*m54 + m11.*m23.*m35.*m42.*m54 -       m12.*m25.*m31.*m43.*m54 + m11.*m25.*m32.*m43.*m54 +    m12.*m21.*m35.*m43.*m54 - m11.*m22.*m35.*m43.*m54 - m13.*m22.*m31.*m45.*m54 +    m12.*m23.*m31.*m45.*m54 + m13.*m21.*m32.*m45.*m54 -       m11.*m23.*m32.*m45.*m54 - m12.*m21.*m33.*m45.*m54 +    m11.*m22.*m33.*m45.*m54 +    m15.*((-m22).*m34.*m43.*m51 + m22.*m33.*m44.*m51 + m21.*m34.*m43.*m52 -       m21.*m33.*m44.*m52 +            m22.*m34.*m41.*m53 - m21.*m34.*m42.*m53 - m22.*m31.*m44.*m53 +       m21.*m32.*m44.*m53 +       m24.*((-m33).*m42.*m51 + m32.*m43.*m51 + m33.*m41.*m52 - m31.*m43.*m52 -          m32.*m41.*m53 +                 m31.*m42.*m53) - m22.*m33.*m41.*m54 + m21.*m33.*m42.*m54 +       m22.*m31.*m43.*m54 - m21.*m32.*m43.*m54 +                  m23.*(m34.*m42.*m51 - m32.*m44.*m51 - m34.*m41.*m52 + m31.*m44.*m52 +          m32.*m41.*m54 - m31.*m42.*m54)) +       (m13.*(m24.*m32.*m41 - m22.*m34.*m41 - m24.*m31.*m42 + m21.*m34.*m42 +          m22.*m31.*m44 - m21.*m32.*m44) +                  m12.*((-m24).*m33.*m41 + m23.*m34.*m41 + m24.*m31.*m43 - m21.*m34.*m43 -          m23.*m31.*m44 + m21.*m33.*m44) +                  m11.*(m24.*m33.*m42 - m23.*m34.*m42 - m24.*m32.*m43 + m22.*m34.*m43 +          m23.*m32.*m44 - m22.*m33.*m44)).*m55 +       m14.*(m22.*m35.*m43.*m51 - m22.*m33.*m45.*m51 - m21.*m35.*m43.*m52 +       m21.*m33.*m45.*m52 - m22.*m35.*m41.*m53 + m21.*m35.*m42.*m53 +       m22.*m31.*m45.*m53 - m21.*m32.*m45.*m53 +                  m25.*(m33.*m42.*m51 - m32.*m43.*m51 - m33.*m41.*m52 + m31.*m43.*m52 +          m32.*m41.*m53 - m31.*m42.*m53) + (m22.*m33.*m41 - m21.*m33.*m42 -          m22.*m31.*m43 + m21.*m32.*m43).*m55 +                  m23.*((-m35).*m42.*m51 + m32.*m45.*m51 + m35.*m41.*m52 - m31.*m45.*m52 -          m32.*m41.*m55 + m31.*m42.*m55)));
	
	mm55=(m12.*m24.*m33.*m41 - m12.*m23.*m34.*m41 - m11.*m24.*m33.*m42 +    m11.*m23.*m34.*m42 - m12.*m24.*m31.*m43 + m11.*m24.*m32.*m43 +    m12.*m21.*m34.*m43 - m11.*m22.*m34.*m43 +       m14.*(m23.*m32.*m41 - m22.*m33.*m41 - m23.*m31.*m42 + m21.*m33.*m42 +       m22.*m31.*m43 - m21.*m32.*m43) + (m12.*m23.*m31 - m11.*m23.*m32 -       m12.*m21.*m33 + m11.*m22.*m33).*m44 +       m13.*((-m24).*m32.*m41 + m22.*m34.*m41 + m24.*m31.*m42 - m21.*m34.*m42 -       m22.*m31.*m44 + m21.*m32.*m44))./(m13.*m25.*m34.*m42.*m51 -    m13.*m24.*m35.*m42.*m51 - m12.*m25.*m34.*m43.*m51 +       m12.*m24.*m35.*m43.*m51 - m13.*m25.*m32.*m44.*m51 +    m12.*m25.*m33.*m44.*m51 + m13.*m22.*m35.*m44.*m51 - m12.*m23.*m35.*m44.*m51 +    m13.*m24.*m32.*m45.*m51 - m12.*m24.*m33.*m45.*m51 -       m13.*m22.*m34.*m45.*m51 + m12.*m23.*m34.*m45.*m51 -    m13.*m25.*m34.*m41.*m52 + m13.*m24.*m35.*m41.*m52 + m11.*m25.*m34.*m43.*m52 -    m11.*m24.*m35.*m43.*m52 + m13.*m25.*m31.*m44.*m52 -       m11.*m25.*m33.*m44.*m52 - m13.*m21.*m35.*m44.*m52 +    m11.*m23.*m35.*m44.*m52 - m13.*m24.*m31.*m45.*m52 + m11.*m24.*m33.*m45.*m52 +    m13.*m21.*m34.*m45.*m52 - m11.*m23.*m34.*m45.*m52 +       m12.*m25.*m34.*m41.*m53 - m12.*m24.*m35.*m41.*m53 -    m11.*m25.*m34.*m42.*m53 + m11.*m24.*m35.*m42.*m53 - m12.*m25.*m31.*m44.*m53 +    m11.*m25.*m32.*m44.*m53 + m12.*m21.*m35.*m44.*m53 -       m11.*m22.*m35.*m44.*m53 + m12.*m24.*m31.*m45.*m53 -    m11.*m24.*m32.*m45.*m53 - m12.*m21.*m34.*m45.*m53 + m11.*m22.*m34.*m45.*m53 +    m13.*m25.*m32.*m41.*m54 - m12.*m25.*m33.*m41.*m54 -       m13.*m22.*m35.*m41.*m54 + m12.*m23.*m35.*m41.*m54 -    m13.*m25.*m31.*m42.*m54 + m11.*m25.*m33.*m42.*m54 + m13.*m21.*m35.*m42.*m54 -    m11.*m23.*m35.*m42.*m54 + m12.*m25.*m31.*m43.*m54 -       m11.*m25.*m32.*m43.*m54 - m12.*m21.*m35.*m43.*m54 +    m11.*m22.*m35.*m43.*m54 + m13.*m22.*m31.*m45.*m54 - m12.*m23.*m31.*m45.*m54 -    m13.*m21.*m32.*m45.*m54 + m11.*m23.*m32.*m45.*m54 +       m12.*m21.*m33.*m45.*m54 - m11.*m22.*m33.*m45.*m54 +    m15.*(m22.*m34.*m43.*m51 - m22.*m33.*m44.*m51 - m21.*m34.*m43.*m52 +       m21.*m33.*m44.*m52 - m22.*m34.*m41.*m53 + m21.*m34.*m42.*m53 +            m22.*m31.*m44.*m53 - m21.*m32.*m44.*m53 +       m24.*(m33.*m42.*m51 - m32.*m43.*m51 - m33.*m41.*m52 + m31.*m43.*m52 +          m32.*m41.*m53 - m31.*m42.*m53) +            (m22.*m33.*m41 - m21.*m33.*m42 - m22.*m31.*m43 + m21.*m32.*m43).*        m54 + m23.*((-m34).*m42.*m51 + m32.*m44.*m51 + m34.*m41.*m52 -          m31.*m44.*m52 - m32.*m41.*m54 + m31.*m42.*m54)) +       (m13.*((-m24).*m32.*m41 + m22.*m34.*m41 + m24.*m31.*m42 -          m21.*m34.*m42 - m22.*m31.*m44 + m21.*m32.*m44) +                  m12.*(m24.*m33.*m41 - m23.*m34.*m41 - m24.*m31.*m43 + m21.*m34.*m43 +          m23.*m31.*m44 - m21.*m33.*m44) +                  m11.*((-m24).*m33.*m42 + m23.*m34.*m42 + m24.*m32.*m43 - m22.*m34.*m43 -          m23.*m32.*m44 + m22.*m33.*m44)).*m55 +       m14.*((-m22).*m35.*m43.*m51 + m22.*m33.*m45.*m51 + m21.*m35.*m43.*m52 -       m21.*m33.*m45.*m52 + m22.*m35.*m41.*m53 - m21.*m35.*m42.*m53 -       m22.*m31.*m45.*m53 + m21.*m32.*m45.*m53 +                  m25.*((-m33).*m42.*m51 + m32.*m43.*m51 + m33.*m41.*m52 - m31.*m43.*m52 -          m32.*m41.*m53 + m31.*m42.*m53) - m22.*m33.*m41.*m55 +       m21.*m33.*m42.*m55 + m22.*m31.*m43.*m55 -            m21.*m32.*m43.*m55 +       m23.*(m35.*m42.*m51 - m32.*m45.*m51 - m35.*m41.*m52 + m31.*m45.*m52 +          m32.*m41.*m55 - m31.*m42.*m55))); 
	

	
	b1=(1./(2.*(1 + ux.^2 + uy.^2).^(3./2))).*(-4.*dyux.*PI - 3.*dxux.*T.^3 - 	    3.*dyuy.*T.^3 - 4.*dxB.*ux - 4.*dyPI.*ux - 9.*dxT.*T.^2.*ux -    6.*dyux.*PI.*ux.^2 - 9.*dxux.*T.^3.*ux.^2 - 6.*dyuy.*T.^3.*ux.^2 -       8.*dxB.*ux.^3 - 6.*dyPI.*ux.^3 - 18.*dxT.*T.^2.*ux.^3 - 4.*dyux.*PI.*ux.^4 -    6.*dxux.*T.^3.*ux.^4 - 3.*dyuy.*T.^3.*ux.^4 - 4.*dxB.*ux.^5 - 2.*dyPI.*ux.^5 -    9.*dxT.*T.^2.*ux.^5 - 4.*dxPI.*uy +       4.*dyB.*uy - 9.*dyT.*T.^2.*uy - 8.*dxux.*PI.*ux.*uy - 8.*dyuy.*PI.*ux.*uy -    3.*dyux.*T.^3.*ux.*uy - 10.*dxPI.*ux.^2.*uy + 4.*dyB.*ux.^2.*uy -    18.*dyT.*T.^2.*ux.^2.*uy - 6.*dxux.*PI.*ux.^3.*uy -       10.*dyuy.*PI.*ux.^3.*uy - 3.*dyux.*T.^3.*ux.^3.*uy - 6.*dxPI.*ux.^4.*uy -    9.*dyT.*T.^2.*ux.^4.*uy - 10.*dyux.*PI.*uy.^2 - 6.*dxux.*T.^3.*uy.^2 -    9.*dyuy.*T.^3.*uy.^2 - 4.*dxB.*ux.*uy.^2 -       10.*dyPI.*ux.*uy.^2 - 18.*dxT.*T.^2.*ux.*uy.^2 - 6.*dyux.*PI.*ux.^2.*uy.^2 -    9.*dxux.*T.^3.*ux.^2.*uy.^2 - 9.*dyuy.*T.^3.*ux.^2.*uy.^2 - 4.*dxB.*ux.^3.*uy.^2 -    8.*dyPI.*ux.^3.*uy.^2 -       18.*dxT.*T.^2.*ux.^3.*uy.^2 - 6.*dxPI.*uy.^3 + 8.*dyB.*uy.^3 -    18.*dyT.*T.^2.*uy.^3 - 10.*dxux.*PI.*ux.*uy.^3 - 6.*dyuy.*PI.*ux.*uy.^3 -    3.*dyux.*T.^3.*ux.*uy.^3 - 8.*dxPI.*ux.^2.*uy.^3 +       4.*dyB.*ux.^2.*uy.^3 - 18.*dyT.*T.^2.*ux.^2.*uy.^3 - 6.*dyux.*PI.*uy.^4 -    3.*dxux.*T.^3.*uy.^4 - 6.*dyuy.*T.^3.*uy.^4 - 6.*dyPI.*ux.*uy.^4 -    9.*dxT.*T.^2.*ux.*uy.^4 - 2.*dxPI.*uy.^5 + 4.*dyB.*uy.^5 -       9.*dyT.*T.^2.*uy.^5 -    4.*B.*(ux.*uy.*((-dxuy).*(1 + ux.^2) + dyux.*(1 + uy.^2)) +       dxux.*(1 + 2.*ux.^4 + uy.^2 + 3.*ux.^2.*(1 + uy.^2)) -            dyuy.*(1 + 3.*uy.^2 + 2.*uy.^4 + ux.^2.*(1 + 3.*uy.^2))) -    dxuy.*(3.*T.^3.*ux.*uy.*(1 + ux.^2 + uy.^2) +       2.*PI.*(2 + 3.*ux.^4 + 3.*uy.^2 + 2.*uy.^4 + ux.^2.*(5 + 3.*uy.^2))));
	
	b2=(1./2).*(-4.*(2.*B.*dxux + (dxuy + dyux).*PI).*ux - 4.*dxB.*(1 + ux.^2) -    3.*T.^2.*(dxT + (2.*dxux + dyuy).*T.*ux + 3.*dxT.*ux.^2) -       (4.*(dxux + dyuy).*PI + 3.*dyux.*T.^3 + 4.*dxPI.*ux + 9.*dyT.*T.^2.*ux).*     uy - 2.*dyPI.*(2 + ux.^2 + uy.^2));
	
	b3=(1./2).*(-4.*(dxux + dyuy).*PI.*ux - 3.*T.^2.*(dyT + dxuy.*T.*ux) +    8.*B.*dyuy.*     uy - (4.*(dxuy + dyux).*PI + 4.*dyPI.*ux +       3.*T.^2.*(dxux.*T + 2.*dyuy.*T + 3.*dxT.*ux)).*uy -       9.*dyT.*T.^2.*uy.^2 + 4.*dyB.*(1 + uy.^2) - 2.*dxPI.*(2 + ux.^2 + uy.^2));
	
	b4=(1./2).*(-2.*PI.*(2 + ux.^2 + uy.^2) +    c.*T.^2.*(dxuy + dyux + dxuy.*ux.^2 + dyux.*uy.^2) +       (1./(c.*         T.^2)).*((2.*(-1 + h).*          T.*((-dxuy).*(1 + ux.^2) + (dxux - dyuy).*ux.*uy +            dyux.*(1 + uy.^2)).*(2.*B.*(1 + ux.^2).*(1 + uy.^2) +            PI.*ux.*uy.*(-ux.^2 + uy.^2)))./              (1 + ux.^2 + uy.^2) +       h.*((dxux + dyuy).*PI.*           T.*(2 + ux.^2 +             uy.^2) + (1./(1 + ux.^2 +               uy.^2)).*(2.*((-4.*dxT.*PI + 2.*dxPI.*T).*ux + 2.*B.*dxuy.*T.*ux.^2 +                         (-6.*dxT.*PI + 3.*dxPI.*T).*                ux.^3 + (2.*B.*dxuy + dxux.*PI).*T.*                ux.^4 + (-2.*dxT.*PI + dxPI.*T).*ux.^5 -                         ((-T).*(2.*B.*                     ux.*(-dxux + dyuy - 2.*dxux.*ux.^2 + dyuy.*ux.^2) +                     dyPI.*(2 + 3.*ux.^2 + ux.^4)) +                  PI.*(T.*ux.^3.*(dxuy - dyux + 2.*dxuy.*ux.^2) +                     2.*dyT.*(2 + 3.*ux.^2 + ux.^4))).*                                          uy - (2.*dxT.*PI.*ux.*(3 + 2.*ux.^2) +                  T.*ux.*(-3.*dxPI + (dxux + dyuy).*PI.*ux - 2.*dxPI.*ux.^2 +                     2.*(-dxux + dyuy).*PI.*ux.^3) +                                               2.*B.*T.*(dyux + 2.*dyux.*ux.^2 - 2.*dxuy.*ux.^2.*(1 + ux.^2))).*                uy.^2 + (-2.*dyT.*PI.*(3 + 2.*ux.^2) +                                               T.*(dyPI.*(3 + 2.*ux.^2) +                     ux.*(-2.*                     B.*(dxux + 2.*dxux.*ux.^2 - 2.*dyuy.*(1 + ux.^2)) +                     PI.*(dxuy + 2.*dxuy.*ux.^2 + dyux.*(-1 + 2.*ux.^2))))).*                uy.^3 +                         (ux.*(-2.*dxT.*PI + dxPI.*T - 2.*dxux.*PI.*T.*ux) -                  2.*B.*dyux.*T.*(1 + 2.*ux.^2) + dyuy.*PI.*T.*(1 + 2.*ux.^2)).*                uy.^4 + (dyPI.*T - 2.*PI.*(dyT + dyux.*T.*ux)).*uy.^5)))));
	
	b5=(1./2).*(-4.*PI.*ux.*uy + 4.*B.*(1 + uy.^2) +    c.*T.^2.*(dyuy + 2.*dxuy.*ux.*uy + dyuy.*uy.^2 - dxux.*(1 + uy.^2)) +       (1./(c.*         T.^2)).*(-((2.*(-1 + h).*            T.*(dxuy.*(1 + ux.^2) + (-dxux + dyuy).*ux.*uy -              dyux.*(1 + uy.^2)).*(2.*B.*ux.*(uy + uy.^3) +              PI.*(2 + ux.^2 - (-3 + ux.^2).*uy.^2 + uy.^4)))./                 (1 + ux.^2 + uy.^2)) +       h.*((dxux + dyuy).*           T.*(2.*PI.*ux.*uy - 2.*B.*(1 + uy.^2)) - (1./(1 + ux.^2 + uy.^2)).*                   (4.*(-2.*(dxT.*ux + dyT.*uy).*(1 + ux.^2 + uy.^2).*(B -                  PI.*ux.*uy + B.*uy.^2) +               T.*((-ux).*(-dxB + dxuy.*PI.*ux).*(1 + ux.^2) +                              (dyB.*(1 + ux.^2) -                     ux.*((-dxux).*PI + (dyuy.*PI + dxPI.*ux).*(1 + ux.^2))).*                   uy + (dyux.*PI +                     ux.*((-dyPI).*(1 + ux.^2) + dxB.*(2 + ux.^2) +                                                         ux.*(2.*B.*dxux + dxuy.*PI.*(-1 + ux.^2)))).*                   uy.^2 + (dyB.*(2 + ux.^2) -                     ux.*(dyuy.*PI + dxPI.*ux - dyuy.*PI.*ux.^2 +                     dxux.*PI.*(-2 + ux.^2) -                                     2.*B.*(dyux - dxuy.*ux.^2))).*                   uy.^3 - (ux.*(-dxB + dyPI - 2.*B.*dxux.*ux +                     2.*B.*dyuy.*ux + dxuy.*PI.*ux) + dyux.*PI.*(-2 + ux.^2)).*                   uy.^4 +                              (dyB + (2.*B.*dyux + (dxux - dyuy).*PI).*ux).*                   uy.^5 + dyux.*PI.*uy.^6))))));
	
	
	dtT= b1.*mm11 + b2.*mm12 + b3.*mm13 + b4.*mm14 + b5.*mm15;
	dtux=b1.*mm21 + b2.*mm22 + b3.*mm23 + b4.*mm24 + b5.*mm25;
	dtuy=b1.*mm31 + b2.*mm32 + b3.*mm33 + b4.*mm34 + b5.*mm35;
	dtPI=b1.*mm41 + b2.*mm42 + b3.*mm43 + b4.*mm44 + b5.*mm45;
	dtB=b1.*mm51 + b2.*mm52 + b3.*mm53 + b4.*mm54 + b5.*mm55;

	
    T  = T  + Dt * dtT;
	ux = ux + Dt * dtux;
    uy = uy + Dt * dtuy;
	PI = PI + Dt * dtPI;
	B = B + Dt * dtB;

    dxux = dx(ux);
    dyux = dy(ux);
    dxuy = dx(uy);
    dyuy = dy(uy);
    dxT = dx(T);
    dyT = dy(T);
	dxPI = dx(PI);
	dyPI = dy(PI);
	dxB = dx(B);
	dyB = dy(B);



    phydro();
    pause(0.003);
  

















    phydro();
    %pause(0.033);

  end

  function r = phydro()
    frame_active = (mod(t-1,int16(1/Dt/SECONDS_PER_LIGHTYEAR/30)) == 0);
    if VIDEO & ~frame_active 
      return
    end
    if VIDEO
      disp(t);
    end
    plotsx = 4;
    plotsy = 3;
    subplot(plotsy, plotsx, 1);
    image((T-TEMP_OFFSET) * 256 * 100 + 128); 
    
    % if (VIDEO) & (frame_active)
    %   frame = getframe;
    %   writeVideo(vt,frame);
    % end

    subplot(plotsy, plotsx, 2);
    image(ux*128 + 128);
    % if (VIDEO) & (frame_active)
    %   frame = getframe;
    %   writeVideo(vvx,frame);
    % end

    subplot(plotsy, plotsx, 3);
    image(uy*128 + 128);
    % if (VIDEO) & (frame_active)
    %   frame = getframe;
    %   writeVideo(vvy,frame);
    % end

    subplot(plotsy, plotsx, 4);
    image(sqrt(1+ux.*ux + uy.*uy)*128 + 128);
    % if (VIDEO) & (frame_active)
    %   frame = getframe;
    %   writeVideo(vv,frame);
    % end

    subplot(plotsy, plotsx, 5);
    image(dtT*4+128);

    subplot(plotsy, plotsx, 6);
    image(dtux*4+128);
    subplot(plotsy, plotsx, 7);
    image(dtuy*4+128);

    %truesize(fig);
    if (VIDEO) & (frame_active)
      frame = getframe(gcf);
      writeVideo(vt,frame);
    end

    
    % subplot(plotsy, plotsx, 9);
    % image(dtdtvx*8 + 128);
    % subplot(plotsy, plotsx, 10);
    % image(dtdtvy*8 + 128);
    % subplot(plotsy, plotsx, 11);
    % image(Pi*2 + 128);
    % subplot(plotsy, plotsx, 12);
    % image(B*2 + 128);
    return;

  end

  % [-1 0 1
  function r = dx(arg)
    r = zeros(GRID_SIZE, GRID_SIZE);
    for y = 1:GRID_SIZE
      r(1,y) = - arg(GRID_SIZE,y)/2 + arg(2, y)/2;
    end
    for y = 1:GRID_SIZE
      r(GRID_SIZE,y) =  -arg(GRID_SIZE-1,y)/2 + arg(1, y)/2;
    end
    for x = 2:GRID_SIZE-1
      for y = 1:GRID_SIZE
        r(x, y) = (arg(x+1,y) - arg(x-1,y))/2;   
      end
    end 
    r = r / DX;
  end
  function r = dy(arg)
    r = zeros(GRID_SIZE, GRID_SIZE);
    for x = 1:GRID_SIZE
      r(x,1) = - arg(x,GRID_SIZE)/2 + arg(x,2)/2;
    end
    for x = 1:GRID_SIZE
      r(x,GRID_SIZE) =  -arg(x,GRID_SIZE-1)/2 + arg(x,1)/2;
    end
    for x = 1:GRID_SIZE
      for y = 2:GRID_SIZE-1
        r(x, y) = (arg(x,y+1) - arg(x,y-1))/2;   
      end
    end 
    r = r / DX;
  end
  function r = dx2(arg)
    r = d1 * arg;
  end
  function r = dy2(arg)
    r = arg * (d1.');
  end
  function r = dxdx2(arg)
    r = d2 * arg;
  end
  function r = dydy2(arg)
    r = arg * (d2.');
  end
  function r = dxdx(arg)
    r = zeros(GRID_SIZE, GRID_SIZE);
    for y = 1:GRID_SIZE
      r(1,y) = arg(GRID_SIZE,y) + arg(2, y) - 2*arg(1,y);
    end
    for y = 1:GRID_SIZE
      r(GRID_SIZE,y) =  arg(GRID_SIZE-1,y) + arg(1, y) - 2*arg(GRID_SIZE,y);
    end
    for x = 2:GRID_SIZE-1
      for y = 1:GRID_SIZE
        r(x, y) = arg(x+1,y) + arg(x-1,y) - 2*arg(x,y);
      end
    end 
    r = r / DX / DX;
  end
  function r = dydy(arg)
    r = zeros(GRID_SIZE, GRID_SIZE);
    for x = 1:GRID_SIZE
      r(x,1) = arg(x,GRID_SIZE) + arg(x,2) - 2*arg(x,1);
    end
    for x = 1:GRID_SIZE
      r(x,GRID_SIZE) =  arg(x,GRID_SIZE-1) + arg(x,1) - 2*arg(x,GRID_SIZE);
    end
    for x = 1:GRID_SIZE
      for y = 2:GRID_SIZE-1
        r(x, y) = arg(x,y+1) + arg(x,y-1) - 2*arg(x,y);   
      end
    end 
    r = r / DX / DX;
  end

end

